A lo que Martin explica tan bien agregaria 2 cosas.
1. Lo de .../api/clientes/nuevo
no es justamente REST estricto porque generalemente viene de otro lado,
del MVC (el nuevo es el metodo del controller). Justamente Microsoft
tiene ASP.NET MVC y WebAPI (para arquitecturas REST) para que eligas
como lo quieras implementar.
2. Si a alguien se le ocurre hacerlo con iFox se puede, si bien fue
pensado para hacer POST de formularios le agregue la posibilidad de
cambiar el content-type y el metodo (post, put, etc).
No queda de lo mas lindo porque es como un parche arriba pero funciona.
Pablo Pioli
El 18/06/2014 01:57 p.m., Martín Salías escribió:
Hola, Ale.
La explicación está bien, con una salvedad (si queremos que el
servicio sea REST):
La URI para el saldo de clientes de tu ejemplo, siempre debería ser:
http://elsitiodetuproveedordeserviciorest.com.ar/api/clientes/saldoclientes/
<http://elsitiodetuproveedordeserviciorest.com.ar/api/clientes/saldoclientes/json>
Porque ese es el recurso. Si quisieras los datos de un cliente en
particular, sería algo como:
http://elsitiodetuproveedordeserviciorest.com.ar/api/clientes/3324/
<http://elsitiodetuproveedordeserviciorest.com.ar/api/clientes/saldoclientes/json>
Cuando vos (desde tu aplicación cliente) hacés un GET a esas URI, en
el header le vas a decir el Content Type que querés (JSon o XML, por
ejemplo) y el servicio te va a devolver uno u otro, o decirte que no
lo soporta
De la misma manera, cuando querés dar de alta un cliente, por ejemplo,
hacés un POST a:
http://elsitiodetuproveedordeserviciorest.com.ar/api/clientes/
<http://elsitiodetuproveedordeserviciorest.com.ar/api/clientes/saldoclientes/json>
...no a "clientes/nuevo". El response de este POST, si creo un nuevo
elemento, debería ser 201 (no 200), y darte la URI de la nueva entidad
en Location, por ejemplo:
http://elsitiodetuproveedordeserviciorest.com.ar/api/clientes/
<http://elsitiodetuproveedordeserviciorest.com.ar/api/clientes/saldoclientes/json>7889
¿Se entiende la diferencia?
Igual es bueno aclarar que esto es un servicio REST correcto, y si lo
que tenés es que consumir un servicio que "dice" ser REST, muchas
veces nada de esto aplica, y tenés que ver qué es lo que hay que hacer
(que es lo que no deberías si fuera RESTful).
Saludos,
---
Martín Salías
<http://CodeAndBeyond.org>
2014-06-17 13:10 GMT-04:00 Alejandro Paciotti
<[email protected] <mailto:[email protected]>>:
Dando por sentado que los dos llamamos a esto
<http://eamodeorubio.wordpress.com/2010/07/26/servicios-web-2-%C2%BFque-es-rest/>
un
servicio *REST*, la mayor complejidad podría estar dada por la
autenticación.
Hace algún tiempo usé con gran satisfacción unas librerías que
hizo un colistero, Pablo Pioli
<http://www.coliseosoftware.com.ar/>, que me permitía abrir una
página y bajarla a archivo de texto.
Luego de identificarte en el sitio donde debes consumir el
servicio *REST *tenés que tener conocimiento de como está hecho
para poder consumirlo.
Un ejemplo podría ser:
Supongamos que alguien pensó que para saber el saldo de los
clientes el acceso fuese:
http://elsitiodetuproveedordeserviciorest.com.ar/api/clientes/saldoclientes/json
Entonces, la respuesta que obtendrías sería un json.
O bien:
http://elsitiodetuproveedordeserviciorest.com.ar/api/clientes/saldoclientes/xml
Entonces la respuesta sería un XML.
No he probado la aplicación de Pablo usando POST, pero también
podría haber algo que puedas consumir desde fox, como por ejemplo:
http://elsitiodetuproveedordeserviciorest.com.ar/api/potencialesclientes/nuevo
(y los datos deberían ir por POST)
Espero haber sido claro.
Abrazo.
[email protected] <mailto:[email protected]>
El 17 de junio de 2014, 11:29, Alejandro Delgado Jordan
<[email protected] <mailto:[email protected]>> escribió:
Alejandro, Para Consumir desde Visual FoxPro
*De:*[email protected] <mailto:[email protected]>
[mailto:[email protected] <mailto:[email protected]>] *En nombre
de *Alejandro Paciotti
*Enviado el:* lunes, 16 de junio de 2014 17:12
*Para:* GUFA List Member
*Asunto:* [GUFA] Servicio REST
Consumir con que?
[email protected] <mailto:[email protected]>
El 16 de junio de 2014, 17:09, Alejandro Delgado Jordan
<[email protected] <mailto:[email protected]>> escribió:
Hola:
Alguien sabe donde puedo sacar info y/o ejemplos de como
consumir un servicio REST.-
Gracias
Alejandro
------------------------------------------------------------------------
/Por favor, no imprima este mensaje a no ser que sea
absolutamente necesario. Todos somos responsables por el
cuidado del medio ambiente./
/Este e-mail, y cualquier archivo adjunto, fue escrito sólo
para la/s persona/s o ente/s al que está dirigido, pudiendo
contener información confidencial o privilegiada. Está
prohibido revisar, distribuir, copiar, imprimir o hacer
cualquier otro uso de este e-mail y sus adjuntos por personas
o entidades distintas del destinatario. Si recibió este e-mail
por error, por favor contacte inmediatamente al emisor y
destruya el material.
//Según la legislación local vigente, las comunicaciones
electrónicas, incluyendo el correo electrónico, pueden ser
escaneados por nuestros sistemas para los fines de seguridad
de la información y la evaluación de la conformidad con la
política interna.
El emisor no acepta responsabilidad por errores u omisiones
producidas ni garantiza lo transmitido por este medio debido a
que puede ser objeto de interpretación, alteración, demora u
otras anomalías./
------------------------------------------------------------------------
/Por favor, no imprima este mensaje a no ser que sea
absolutamente necesario. Todos somos responsables por el
cuidado del medio ambiente./
/Este e-mail, y cualquier archivo adjunto, fue escrito sólo
para la/s persona/s o ente/s al que está dirigido, pudiendo
contener información confidencial o privilegiada. Está
prohibido revisar, distribuir, copiar, imprimir o hacer
cualquier otro uso de este e-mail y sus adjuntos por personas
o entidades distintas del destinatario. Si recibió este e-mail
por error, por favor contacte inmediatamente al emisor y
destruya el material.
//Según la legislación local vigente, las comunicaciones
electrónicas, incluyendo el correo electrónico, pueden ser
escaneados por nuestros sistemas para los fines de seguridad
de la información y la evaluación de la conformidad con la
política interna.
//El emisor no acepta responsabilidad por errores u omisiones
producidas ni garantiza lo transmitido por este medio debido a
que puede ser objeto de interpretación, alteración, demora u
otras anomalías./