gpt4 book ai didi

德尔福XE2 : How to define custom DataSnap REST URI?

转载 作者:行者123 更新时间:2023-12-03 14:42:08 26 4
gpt4 key购买 nike

我正在使用Delphi XE2编写DataSnap REST服务。我注意到 DataSnap 中的 REST URI 必须严格遵循此格式(请参阅 here ):

http://my.site.com/datasnap/rest/URIClassName/URIMethodName[/inputParameter]*

一个著名的例子是 DataSnap 服务器向导创建的示例方法:

http://my.site.com/datasnap/rest/TServerMethods1/ReverseString/ABC

在 URI 中提供参数有两种常见方法:

  1. 路径段参数:/TServerMethods1/ReverseString/ABC
  2. 查询字符串参数:/TServerMethods1/customers?name=bill

DataSnap REST 绝对支持 Path Segment 参数 URI。 DataSnap REST 中也支持查询字符串参数 URI 吗?

我有以下 REST URI 示例,发现似乎不可能使其与当前的 DataSnap REST 库一起使用:

  1. /客户/A1234

    返回ID为A1234的客户对象

  2. /customers/A1234.xml

    以XML格式返回ID为A1234的客户对象

  3. /customers/A1234.json

    以json格式返回ID为A1234的客户对象

  4. /customers/A1234.html

    以html格式返回ID为A1234的客户对象

  5. /customers?name=Bill

    返回姓名中包含Bill的客户列表

最佳答案

我不知道如何使用 DataSnap 来做到这一点,但有一些方法可以解决它。您可以充分利用名为 URLRewrite 的工具,因为您的友好 URI 和 DataSnap 所需的 URI 都可以轻松映射。

对于 IIS,您可以使用(启用)IIS 7 中标准的 URLRewrite 模块。更多信息可以在官方网站上找到:http://www.iis.net/download/urlrewrite

请务必为 inbound 创建规则 outbound URI,以便“内部”(Datasnap) URI 不会泄露出去。

如果您在 Apache 上运行该网站,则可以使用类似的功能,并且我认为您需要修改 .htaccess 文件,但我没有使用 Apache 的经验,因此我可能是错的。

关于德尔福XE2 : How to define custom DataSnap REST URI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10562454/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com