Ich muss einen einfachen REST-Server in Delphi und einen Client in Ruby on Rails schreiben. Ich habe alle Videos von Marco Cantu über REST in Delphi angeschaut und ich habe eine Frage:Verwendung der REST-Anforderung in Delphi
Wie kann Delphi Prozessanforderungen wie "https://stackoverflow.com/users/1"
wo 1
die ID eines Benutzers ist?
Alle Beispiele I Gebrauch einfache Funktionen (wie EchoString(value)
oder ReverseString(Value)
) und der Anfrage gesehen habe, ist "Datasnap/rest/ClassName/EchoString/Value"
, aber ich brauche eine Anfrage wie "Datasnap/rest/classname/123"
. Beispiel: TContractsCollection
ist eine Sammlung von Verträgen und ich möchte den Vertrag mit ID=324556
ansehen. So in einem Browser (und im RoR-Client) wird es (zum Beispiel):
"http://localhost:3000/DataSnap/rest/TContractsCollection/324556"
Aber Delphi schreibt:
"TContractsCollection method not found in the server method list"
Irgendwelche Ideen?
eingestellt werden Es gibt einen neuen, leichten Rahmen für Delphi und Free Pascal, die [RESTful Services Support] (http://mikejustin.wordpress.com/dwf/) mit der Anforderungs-Parameterzuordnung enthalten, so dass Sie die URL mit placeho deklarieren können Absender wie '/ users/{userId}'. (Ich bin der Autor dieses Frameworks) – mjn
Enthüllung der internen Implementierungsdetails des Servers wie der Klassenname (TContractCollection) ist kein gutes RESTFul-Design. Die Entitäten (oder Ressourcen) sollten auf leicht verständliche Weise benannt werden. Eine RESTFul-URL wäre in diesem Fall http://mydomain.com/resources/contracts/324556, für weitere Beispiele siehe http://stackoverflow.com/a/256359/80901 – mjn
danke, mjn. Ich habe es geschrieben, um zu betonen, dass dies eine Klasse ist. – yamaxim