Delphi XE2:如何定义DataSnap REST URI?

前端之家收集整理的这篇文章主要介绍了Delphi XE2:如何定义DataSnap REST URI?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用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中提供参数有两种常用的方法

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

DataSnap REST绝对支持Path Segment参数URI.是否在DataSnap REST中查询字符串参数URI?

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

> / customers / A1234

返回ID A1234的客户对象
> /customers/A1234.xml

以XML格式返回ID A1234的客户对象
> /customers/A1234.json

以json格式返回ID A1234的客户对象
> /customers/A1234.html

以HTML格式返回ID A1234的客户对象
> / customers?name = Bill

返回名单包含Bill的客户名单

解决方法

我不知道如何使用DataSnap,但是有一些方法.您可以将一些名为URLRewrite的东西用于此,因为您友好的URI和Da​​taSnap所需的URI都很容易映射.

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

确保为inboundoutbound URI创建规则,以便“内部”(Datasnap)URI不会出现在野外.

如果您在Apache上运行该站点,则可以使用类似的功能,而且我需要修改.htaccess文件,但是我没有Apache的经验,所以我可能是错误的.

猜你在找的Delphi相关文章