Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-04-2024
jmbarrio jmbarrio is offline
Miembro
 
Registrado: may 2003
Posts: 101
Poder: 22
jmbarrio Va por buen camino
GET - POST Componentes REST (Client-Request-Response)

Buenas tardes,
estoy desarrollando una aplicación en android con componentes REST.
Con el method rmGET en el Request me traigo un fichero Json en el Response sin problemas.

Mi pregunta es si quiero enviar un Json, tendría que cambiar el method del Reques a rmPOST, ¿no? y por lo que he leído en la propiedad Body le puedo enviar un fichero con el siguiente codigo

Código Delphi [-]
var
  Contenido:Tstream;
  RESTRequest.Body.Add(Contenido,TRestContentType.ctAPPLICATION.XML)

¿para Json sería así?
Código Delphi [-]
RESTRequest.Body.Add(Contenido,TRestContentType.ctAPPLICATION.JSON)

Por otro lado como puedo crear el Json, ¿Qué métodos o funciones hay en delphi? ¿el contenido de este Json iría a la variable Contenido:TStream?

Muchas gracias, un saludo.
Responder Con Cita
  #2  
Antiguo 09-04-2024
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.586
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por jmbarrio Ver Mensaje
Buenas tardes,
Buenas tardes.


Cita:
Empezado por jmbarrio Ver Mensaje
Mi pregunta es si quiero enviar un Json, tendría que cambiar el method del Reques a rmPOST, ¿no? y por lo que he leído en la propiedad Body le puedo enviar un fichero con el siguiente codigo

Bueno el método a utilizar es el que te de la documentación de la API REST a la que estás llamando, pero si, lo habitual es usar POST.



Cita:
Empezado por jmbarrio Ver Mensaje
¿para Json sería así?
Para JSON utiliza:
Código Delphi [-]
RESTRequest1.AddBody(miparametro, TRESTContentType.ctAPPLICATION_JSON);



Cita:
Empezado por jmbarrio Ver Mensaje
Por otro lado como puedo crear el Json, ¿Qué métodos o funciones hay en delphi? ¿el contenido de este Json iría a la variable Contenido:TStream?

Tienes clases para tratar foirmato JSON; Para leer, crear,...
Revisa la docwiki de embarcadero:
http://docwiki.embarcadero.com/RADSt...andria/en/JSON
http://docwiki.embarcadero.com/Libra...en/System.JSON


Además si buscas en el foro encontrarás muchos hilos con código de ejemplo, para "montar" el JSON que necesitas, como para llamar a una API REST con los componentes que estás utilizando; Por ejemplo esto (aunque si buscas encontrarás más):
https://www.clubdelphi.com/foros/showthread.php?t=94732
https://clubdelphi.com/foros/showthread.php?t=96328
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 10-04-2024
jmbarrio jmbarrio is offline
Miembro
 
Registrado: may 2003
Posts: 101
Poder: 22
jmbarrio Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Buenas tardes.

Bueno el método a utilizar es el que te de la documentación de la API REST a la que estás llamando, pero si, lo habitual es usar POST.

Para JSON utiliza:
Código Delphi [-]
RESTRequest1.AddBody(miparametro, TRESTContentType.ctAPPLICATION_JSON);

Tienes clases para tratar foirmato JSON; Para leer, crear,...
Revisa la docwiki de embarcadero:
http://docwiki.embarcadero.com/RADSt...andria/en/JSON
http://docwiki.embarcadero.com/Libra...en/System.JSON

Además si buscas en el foro encontrarás muchos hilos con código de ejemplo, para "montar" el JSON que necesitas, como para llamar a una API REST con los componentes que estás utilizando; Por ejemplo esto (aunque si buscas encontrarás más):
https://www.clubdelphi.com/foros/showthread.php?t=94732
https://clubdelphi.com/foros/showthread.php?t=96328
Buenos días, muchas gracias por la ayuda. Ya he preparado un código y estoy a la espera de ver que funciona.

Un saludo.

Última edición por Neftali [Germán.Estévez] fecha: 10-04-2024 a las 12:14:27.
Responder Con Cita
  #4  
Antiguo 10-04-2024
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 933
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Estimado jmBarrio, yo hace algun tiempo estoy utilizando algunas librerias para todo lo que sea servidores REST y Clientes REST...Estas me han dado muy buenos resultados y a mi parecer son bastante simples de utilizar. Le dejo los enlaces para revisar.

Servidor REST utilizando Horse
Consumir servicios REST
Para trabar con JSON y Dataset

Saludos cordiales
Responder Con Cita
  #5  
Antiguo 11-04-2024
jmbarrio jmbarrio is offline
Miembro
 
Registrado: may 2003
Posts: 101
Poder: 22
jmbarrio Va por buen camino
Cita:
Empezado por cloayza Ver Mensaje
Estimado jmBarrio, yo hace algun tiempo estoy utilizando algunas librerias para todo lo que sea servidores REST y Clientes REST...Estas me han dado muy buenos resultados y a mi parecer son bastante simples de utilizar. Le dejo los enlaces para revisar.

Servidor REST utilizando Horse
Consumir servicios REST
Para trabar con JSON y Dataset

Saludos cordiales
Muchas gracias, un saludo.
Responder Con Cita
  #6  
Antiguo 11-04-2024
jmbarrio jmbarrio is offline
Miembro
 
Registrado: may 2003
Posts: 101
Poder: 22
jmbarrio Va por buen camino
Cita:
Empezado por cloayza Ver Mensaje
Estimado jmBarrio, yo hace algun tiempo estoy utilizando algunas librerias para todo lo que sea servidores REST y Clientes REST...Estas me han dado muy buenos resultados y a mi parecer son bastante simples de utilizar. Le dejo los enlaces para revisar.

Servidor REST utilizando Horse
Consumir servicios REST
Para trabar con JSON y Dataset

Saludos cordiales
Buenas tardes, me he bajado el tercer enlace el dataset-serialize-master, creo que es el que necesito.

Veo que hay un carpeta src con los ficheros DataSet.Serialize.Config.pas ............................... DataSet.Serialize.Utils.pas

Pero no tengo muy claro que tengo que hacer.

¿Agregarlas al proyecto y ya esta?

Muchas gracias, un cordial saludo.
Responder Con Cita
  #7  
Antiguo 11-04-2024
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 933
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Cita:
Empezado por jmbarrio Ver Mensaje
Buenas tardes, me he bajado el tercer enlace el dataset-serialize-master, creo que es el que necesito.

Veo que hay un carpeta src con los ficheros DataSet.Serialize.Config.pas ............................... DataSet.Serialize.Utils.pas

Pero no tengo muy claro que tengo que hacer.

¿Agregarlas al proyecto y ya esta?
Si, conveniente que la ruta a los fuentes este incorporada en el "Library Path" de delphi.

Tambien puedes realizar algunos ajustes a los parametros generales que se encuentran en :

Código Delphi [-]
     TDataSetSerializeConfig.GetInstance.CaseNameDefinition := TCaseNameDefinition.cndLower; 
     TDataSetSerializeConfig.GetInstance.Export.FormatDate:='dd/mm/yyyy';
     TDataSetSerializeConfig.GetInstance.Export.FormatDateTime := 'dd/mm/yyyy hh:nn:ss.zzz';
     TDataSetSerializeConfig.GetInstance.Export.TryConvertStringToJson:=true;
     TDataSetSerializeConfig.GetInstance.DateTimeIsISO8601:=false;

Mira los ejemplos que trae son muy didácticos.

Saludos cordiales
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
REST request failed jkokoj Desarrollo en Delphi para Android 1 29-08-2021 12:10:32
Problemas con Request POST a Woocommerce XusF Internet 2 06-02-2021 20:31:36
REST CLIENT con certificado digital keys Internet 11 24-10-2019 14:38:06
Asegurar Response datos rabata2001 Varios 3 08-02-2016 17:59:54
Enviar request y recibir response cmfab .NET 0 26-04-2014 21:35:25


La franja horaria es GMT +2. Ahora son las 20:05:54.


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
Copyright 1996-2007 Club Delphi