我已经使用向导在Delphi XE中编写了一个REST服务器,并希望稍微更改一下URL,以便不再像这样:
http://192.168.1.84:8080/datasnap/rest/TServerMethods1/GetListings
而是像这样:http://192.168.1.84:8080/GetListings
有没有简单易行的方法实现这个功能呢?
http://my.site.com/datasnap/rest/URIClassName/URIMethodName[/inputParameter]
您可以通过更改TDSHTTPWebDispatcher组件属性中的“datasnap”和“rest”部分轻松更改URL。只需更改类和方法的名称即可更改URL的类名和方法名。但是,URL仍然必须具有4个组件,因此例如它可以是:http://my.site.com/api/v1/People/Listing
看这里:
http://docwiki.embarcadero.com/RADStudio/XE3/en/REST#Customizing_the_URL_for_REST_requests
您可以使用IIS或Apache来实现这一点,确实可以重写URL以使其指向您喜欢的服务。
这样做提供了一些额外的优势(主要是安全性和可扩展性)。例如,您可以创建一个双服务器的故障转移设置,或者您可以创建多台包含您的服务的计算机,并让您的Web服务器执行负载平衡。
这样做将提供额外的日志记录功能,如果您想轻松地提供其他Web内容,也很容易拥有一个完整的Web服务器。