Frage

Ich habe einen REST-Server in Delphi XE (mit Hilfe des Assistenten) geschrieben und ich mag die URLs, so dass eine Änderung des anstelle von http://192.168.1.84:8080/datasnap/rest/TServerMethods1/GetListings Ich bekomme etwas, dass mehr aussieht wie http://192.168.1.84:8080/GetListings

Gibt es eine schöne und einfach, dies zu tun?

War es hilfreich?

Lösung

Die Namenskonvention ist (Delphi XE3):

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

Sie können einfach die „DataSnap“ ändern und „Rest“ Teil der URL in den TDSHTTPWebDispatcher Bauteileigenschaften. Sie können durch einfaches Ändern Sie den Namen der Klasse und Methode der Klassenname und Methodenname der URL ändern. Sie haben aber noch 4 Komponenten an die URL haben, so zum Beispiel könnte es sein:

http://my.site.com/api/v1/People/Listing

Siehe hier:

http://docwiki.embarcadero.com/RADStudio/XE3/en/ REST # Customizing_the_URL_for_REST_requests

Andere Tipps

Sie können IIS oder Apache setzen dazwischen dies zu erreichen, und zwar umschreiben die URL zu Punkt zu Ihren Diensten, wie Sie möchten.

Das bietet einige weitere Vorteile sowieso (Sicherheit und Skalierbarkeit meistens). Zum Beispiel können Sie eine ausfallsichere Einrichtung mit Doppel Servern erstellen, oder können Sie mehrere Maschinen mit Ihrem Service erstellen, und haben Ihren Web-Server die Last tun beispielsweise ausgleicht.

Sie werden zusätzliche Logging-Funktionen erhalten, und wenn man leicht andere Web-Inhalte dienen wollen ist es einfach, auf jeden Fall einen vollwertigen Web-Server haben.

URL-Rewriting in der Regel in der Web-Server-Konfiguration durchgeführt wird, in Apache mit Einträge in der .htaccess-Datei

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top