2010-10-28 19 views
9

Estoy sentado leyendo algún REST con mis compañeros de equipo, estamos escribiendo una aplicación RoR que va a exponer algunas de sus funcionalidades al resto del mundo.REST OBTENER verbo con los parámetros

Mi tarea en este equipo es crear un recurso que exhiba informes de revistas. Si llama

http://root.com/journalreports

Usted debe obtener todos los journalreports del servicio. Eso está funcionando como un hechizo, pero estoy confundido sobre cómo hacer correctamente un recurso que expone una gama de informes periodísticos. Debería hacerlo

http://root.com/journalreports?range=1/2/2010;5/2/2010

O esto es ilegal cuando hablamos de REST debido a la? Rango = interferencia?

¿Cuál es la forma más adecuada de dar a REST algunos recursos?

Respuesta

14

Los parámetros están perfectamente bien, especialmente para recursos de búsqueda como en su caso (consultar un conjunto de revistas).

I recently answered pregunta similar (ruta vs. parámetro)

+0

¡Gracias por el enlace! Eso me ayudó mucho por el enlace a http://labs.apache.org/webarch/uri/rfc/rfc3986.html#query – mslot

+0

. He aceptado esto debido al enlace que me ayudó. – mslot

6

REST no hace el parámetro de consulta "ilegal" de ninguna manera. Es un estilo arquitectónico, principalmente sobre la conducción de la aplicación mediante el intercambio de representaciones. Considerando que los URI deben ser opacos, no existe una diferencia real entre http://example.com/page/1 y http://example/?page=1 por ejemplo, en lo que respecta a REST (en última instancia depende de las representaciones enviadas, pero la elección o el estilo de URI tiende a ser un detalle de implementación) .

Lo que importa es cómo el cliente va a averiguar sobre los URI de sus informes. HTML puede hacer esto muy bien con formularios y parámetros de consulta. Si su servicio es para el consumo del navegador u otro agente en realidad no importa, puede usar los mismos principios. Podría tener formularios HTML (o equivalentes si su cliente no es un navegador) si desea que sea más flexible o mediante enlaces explícitos en su página principal. (Puede encontrar que es más fácil dividir el rango en dos parámetros, como "de" y "a", si quiere que esto sea más dinámico.)

+1

En realidad pensé que tal "estilo php" era ilegal cuando se hace RESTO. Pero tal vez he leído algo mal, cuando estaba robando algunos artículos? – mslot

+1

@mslot ¿Qué hace que la cadena de consulta sea "php style"? Creo que el lenguaje con el que se implementa una aplicación es mutuamente exclusivo de cómo la aplicación interpreta y hace uso de los URI. – Todd