我已经在 Delphi XE 中编写了一个 REST 服务器(使用向导),我想稍微更改一下 URL,以便 我得到一些东西,而不是http://192.168.1.84:8080/datasnap/rest/TServerMethods1/GetListings看起来更像http://192.168.1.84:8080/GetListings
这样做很容易吗?
我已经在 Delphi XE 中编写了一个 REST 服务器(使用向导),我想稍微更改一下 URL,以便 我得到一些东西,而不是http://192.168.1.84:8080/datasnap/rest/TServerMethods1/GetListings看起来更像http://192.168.1.84:8080/GetListings
这样做很容易吗?
命名约定是(Delphi XE3):
http://my.site.com/datasnap/rest/URIClassName/URIMethodName[/inputParameter]
您可以在 TDSHTTPWebDispatcher 组件属性中轻松更改 URL 的“datasnap”和“rest”部分。您只需更改类和方法的名称即可更改 URL 的类名称和方法名称。但是,您仍然必须有 4 个 URL 组件,例如它可能是:
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 服务器。
URL 重写通常在 Web 服务器配置中完成,在 Apache 中使用.htaccess 文件中的条目