Изменение URL-адресов на сервере отдыха в Delphi - PullRequest
5 голосов
/ 01 декабря 2010

Я написал REST-сервер в Delphi XE (с помощью мастера) и хочу немного изменить URL-адреса, чтобы вместо http://192.168.1.84:8080/datasnap/rest/TServerMethods1/GetListings я получил что-то, похожее на http://192.168.1.84:8080/GetListings

Разве это легко сделать?

Ответы [ 3 ]

3 голосов
/ 26 декабря 2012

Соглашение об именах (Delphi XE3):

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

Вы можете легко изменить часть URL «datasnap» и «rest» в свойствах компонента TDSHTTPWebDispatcher.Вы можете изменить Имя класса и Имя метода 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

3 голосов
/ 26 декабря 2012

Вы можете поместить IIS или Apache между ними, чтобы выполнить это, и действительно переписать URL, чтобы он указывал на ваш сервис так, как вам нравится.

В любом случае это дает еще больше преимуществ (в основном безопасность и масштабируемость).Например, вы можете создать отказоустойчивую установку с двумя серверами, или вы можете создать несколько машин с вашим сервисом, и, например, ваш веб-сервер будет выполнять балансировку нагрузки.

Вы получите дополнительные возможности ведения журналов, и, если вы хотите легко обслуживать другой веб-контент, в любом случае легко иметь полноценный веб-сервер.

0 голосов
/ 01 декабря 2010

Перезапись URL обычно выполняется в конфигурации веб-сервера, в Apache с использованием записей в файле .htaccess

...