TjsonObject como parámetro SERVICIO REST
Hola a todos!
Hace unos días me asignaron un proyecto en mi trabajo en el cual debo crear un servicio REST para que consuma otra empresa externa. He leído mucha teoría y documentación y la verdad que pese a ser novato en el tema me he desenvuelto bastante bien pero actualmente estoy trabado ya que necesito recibir como parámetro un TjsonObject en uno de mis métodos públicos. No sé como se trabaja en Delphi en estos casos, ¿se recibe un string con formato Json? ¿se recibe un objecto de tipo TjsonObject? en la web encontré muchos ejemplos en donde se recibe uno o varios parámetros de tipo integer o string que luego en la URI son separados con "/" pero ningún ejemplo en donde se pase un objeto como parámetro. He probado definir mi método esperando como parámetro un TjsonObject pero tengo problemas para invocarlo desde REST debugger ya que no me reconoce el parámetro enviado como un formato Tjson válido. Qué me recomiendan hacer en estos casos? Cómo se aconseja trabajarlo? Muchas gracias!! p/d: Utilizo Delphi XE6 |
Hola, Bienvenid@ al club...
Debes crear el parámetro como TRESTRequestParameter y agregarlo a la lista (propiedad) Params del TRESTRequest, en su propiedad Value enviar el parametro como un objeto serializado en JSON... la petición debe hacerse por medio del método POST, cosa que se configura en la propiedad Method como rmPOST y listo. Es bastante curioso porque precisamente hoy, estaba pensando en crear un articulo para este tema. |
Gracias por tu respuesta Jhonny!!
Lo que exponés entiendo que es para hacer la llamada desde el lado cliente, pero ¿cómo defino el método en el lado servidor? ¿El parámetro tiene que ser un TjsonObject? A continuación copio la definición de mi método para explicar mejor lo que quiero resolver:
Sería genial si pudieras crear ese artículo, sería de gran ayuda para todos los que estamos iniciando en el tema! Gracias!! |
No comentas qué tipo de servidor
Si estás pensando en generar un Servidor windows, puedes buscar por internert y encontrarás varios ejemplos de cómo hacerlo (en Español y en Inglés). Incluso en la docwiki de embarcadero puedes encontrar informaciópn completa y paso a paso. Por ejemplo: Tutorial: Using a REST DataSnap Server with an Application and FireDAC En este documento explica la utilizaciñon de JSON JSON Types for Server Methods in DataSnap 2010 Otro enfoque sería hacerlo en PHP y consummirlo igualmente desde un cliente (delphi o no), de esta manera. |
Cita:
Por otro lado es bueno que veas los artículos que menciona Neftalí, apuesto que te darán ideas de cómo reutilizar muchas herramientas. |
Bueno, lo dicho, quizá sirva de algo el siguiente tema al respecto http://purodelphi.com/2015/10/28/no-...jsonunmarshal/
|
La franja horaria es GMT +2. Ahora son las 15:44:34. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi