| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
jotny Master


Registrado: 17 Feb 2004Mensajes: 226Ubicación: santiago
|
Publicado: Vie 01 Sep, 2017 12:28 am Asunto: WebService REST |
|
|
Estimados.
hice una integracion con componentes RESTClient, RESTRequest RESTResponse y el modo de autenticacion OAUTH1.
todo impecable cuando llamo a metodos sin parametros, puedo leer json y trabajar muy bien. El problema es cuando intento llamar parametros (tambien hice pruebas con visual studio y funciona de inmediato) el segmento de codigo que uso y no logro acoplar parametros es el siguiente.
| Código: |
memo->Lines->Clear();
RESTClient->BaseURL="http://api.biometria.cl/ApiBiometrico";
UnicodeString Desde= "20170701120000";
UnicodeString Hasta= "20170703120000";
RESTRequest->Resource="/PunchesList/customrange?from={desde}&to={hasta}";
RESTRequest->Params->AddItem("desde", Desde, pkURLSEGMENT,<poAutoCreated>);
RESTRequest->Params->AddItem("hasta", Hasta, pkURLSEGMENT,<poAutoCreated>);
RESTRequest->Method=rmPOST;
try{
RESTRequest->Execute();
}catch(...){}
|
lo anterior he visto en foros de delphi que asi se usa para poner parametros en la URL pero no logro nada, tengo error en la llamada por no ser reconocida la llamada, alguien puede guiarme como se hace una llamada con parametros con ese componente? |
|
| Volver arriba |
|
 |
Alpinador Lt Cmdr

Registrado: 21 Abr 2014Mensajes: 123
|
Publicado: Sab 02 Sep, 2017 3:14 pm Asunto: |
|
|
creo que esta linea no esta bien formateada
| Código: |
RESTRequest->Resource="/PunchesList/customrange?from={desde}&to={hasta}";
|
tienes que poner algo similar a esto:
| Código: | RESTRequest->Resource="/PunchesList/customrange?from={" + desde + "}&to={" + hasta + "}"; |
donde 'desde' y 'hasta' serian las variables donde estan los datos pero no pueden ir en bloque con la cadena....con el simbolo + y las comillas tienes que escapar de la cadena...tendrias que mirar si las llaves en la cadena van tambien o solo va el valor numerico de desde y hasta
y tambien comprueba si la cadena necesita que pongas doble BARRA "//" porque creo recordar que tambien para el tema de rutas necesitas poner doble barra aunque no se si era con esta barra \ o con esta /
es una sugerencia, que se me ocurre
Ultima edición por Alpinador el Sab 02 Sep, 2017 3:23 pm, editado 1 vez |
|
| Volver arriba |
|
 |
jotny Master


Registrado: 17 Feb 2004Mensajes: 226Ubicación: santiago
|
Publicado: Sab 02 Sep, 2017 3:21 pm Asunto: WebService REST |
|
|
segun los foros de delphi (para c++ no hay mucho que digamos), cuando se quiere poner un parametro en la misma URL se usa de esa forma {VARIABLE} y luego de indica en seccion parameters el valor y su propiedad, tambien he probado poniendo parametros directamente con concatenar los strings similar a lo que indicas pero no funciona.
debe haber una forma efectiva de hacer la llamada con parametros en la misma url (en c# sale muy simple, pero quiero acoplar la funcionalidad a un proyecto generado en rad studio) |
|
| Volver arriba |
|
 |
Alpinador Lt Cmdr

Registrado: 21 Abr 2014Mensajes: 123
|
Publicado: Sab 02 Sep, 2017 3:24 pm Asunto: |
|
|
ya, el problema es que delphi tiene una gramática de lenguaje un poco distinta a C++ builder
yo te recomiendo que trabajes el tema "concatenacion de cadenas" y le entregues al componente la cadena POST completa....seguro que terminarás haciendolo funcionar
puedes darme algo de codigo en un proyecto de prueba para probarlo aqui??? tengo tiempo para intentarlo |
|
| Volver arriba |
|
 |
Carlos J. Fernandez Master


Registrado: 27 Oct 2004Mensajes: 574
|
Publicado: Mie 13 Sep, 2017 4:14 pm Asunto: |
|
|
Disculpa que no te solucione y encima te haga una pregunta
Sabes como poner la autenticacion OAUTH1, pero no a un cliente, sino a un servidor Rest?
Gracias de antemano
Un saludo.
Carlos _________________ Carlos J. Fernandez |
|
| Volver arriba |
|
 |
jotny Master


Registrado: 17 Feb 2004Mensajes: 226Ubicación: santiago
|
Publicado: Jue 14 Sep, 2017 3:44 am Asunto: WebService REST |
|
|
| No he desarrollado servidores para entregar servicios rest, solo he generado clientes para rest y soap. |
|
| Volver arriba |
|
 |
|