Necesito escribir un servidor REST simple en Delphi y un cliente en Ruby on Rails. He visto todos los videos de Marco Cantu sobre REST en Delphi y tengo una pregunta:Usando la solicitud REST en Delphi
¿Cómo puede Delphi procesar solicitudes como "https://stackoverflow.com/users/1"
donde 1
es el ID de un usuario?
Todos los ejemplos que he visto el uso de funciones simples (como EchoString(value)
o ReverseString(Value)
) y la petición se "Datasnap/rest/ClassName/EchoString/Value"
, pero necesito una petición como "Datasnap/rest/classname/123"
. Por ejemplo, TContractsCollection
es un conjunto de contratos y quiero ver el contrato con ID=324556
. Así que en un navegador (y en el cliente de RoR) será (por ejemplo):
"http://localhost:3000/DataSnap/rest/TContractsCollection/324556"
Pero Delphi escribe:
"TContractsCollection method not found in the server method list"
¿Alguna idea?
Hay un nuevo marco ligero para Delphi y Free Pascal que incluye [soporte de servicios RESTful] (http://mikejustin.wordpress.com/dwf/) con el mapeo de parámetros de solicitud para que pueda declarar la URL con placeho lders como '/ users/{userId}'. (Soy el autor de este marco) – mjn
La exposición de detalles de implementación interna del servidor como el nombre de clase (TContractCollection) no es un buen diseño de RESTFul. Las entidades (o recursos) deben nombrarse de una manera fácil de entender. Una URL RESTFul en este caso sería http://mydomain.com/resources/contracts/324556, para obtener más ejemplos, vea http://stackoverflow.com/a/256359/80901 – mjn
gracias, mjn. Lo he escrito para acentuar que esta es una clase. – yamaxim