2010-12-01 54 views
5

我已經使用Delphi XE編寫了一個REST服務器(使用嚮導),並且我想稍微更改這些URL,以便代替 http://192.168.1.84:8080/datasnap/rest/TServerMethods1/GetListings 我得到的東西看起來更像http://192.168.1.84:8080/GetListings在Delphi中修改Rest服務器上的URL

有沒有一個很容易做到這一點?

+0

這通常在Web服務器配置中使用.htaccess文件中的URL重定向條目 – mjn 2010-12-01 06:24:31

+0

yes,如果安裝MS提供的URLRewrite模塊,也可在IIS上使用(至少7或6)。 – 2010-12-01 09:20:01

+1

@mjustin&@Marjan:這是一個獨立的服務器,因此它不在apache或IIS下運行。這個問題幾乎侷限於那些瞭解Delphi的一些Web功能的人。 – Alister 2010-12-02 00:26:49

回答

3

的命名慣例進行,在Apache是​​(德爾福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

3

你可以把IIS或Apache在這兩者之間做到這一點,並確實重寫URL以指向您喜歡的方式指向您的服務。

無論如何,它提供了更多的優勢(主要是安全性和可擴展性)。例如,您可以使用雙服務器創建故障安全設置,也可以使用服務創建多臺計算機,並讓Web服務器執行負載平衡。

您將獲得額外的日誌記錄功能,並且如果您輕鬆地想要提供其他Web內容,則無論如何都很容易擁有完整的Web服務器。

相關問題