Estoy escribiendo un artículo sobre la implementación de un servicio REST para los trabajos de investigación de una universidad y tengo un pequeño problema para entender la relación entre los URI y los recursos.RESTO - URI múltiple para el mismo recurso (???)
Dice que un recurso puede tener un URI o muchos. Pues aqui esta mi problema. Quiero hacer que este servicio sea muy fácil de usar y para evitar la información: se debe acceder a un recurso desde diferentes puntos de entrada, pero esto va en contra del concepto de que cada "URI designa exactamente un recurso".
Así que mi pregunta es si el siguiente es o no es de conformidad con el descanso lo siguiente:
Quiero exponer información sobre una publicación de investigación (digamos que un peer reviewed).
Esto se puede acceder mediante este URI: UNIVERSITY/publications/{my_publication}.
Pero ya que este documento ha sido escrito por un investigador que trabaja en el digamos Facultad de Ciencias Sociales, que también hará que el sentido de que la publicación tiene esta URI: UNIVERSIDAD/facultades/social_science/publicaciones/{my_publication}.
Además, como el servicio también expone a todos los investigadores que trabajan en la universidad (por ejemplo, UNIVERSITY/researchers/{my_researcher}) también tendrá sentido que la publicación se llame UNIVERSITY/researchers/{my_researcher}/publications/{my_publication}.
Esto podría continuar con múltiples usos, pero se entiende.
¿Esto está de acuerdo con REST o no?
¿Puedo guardar esto y resolver el dilema enviando un código de respuesta 303 ("Ver también") junto con el URI canónico (que será UNIVERSITY/publications/{my_publication}).
¡Gracias de antemano!
Hola Jim, eso es exactamente lo que hice. Incluso fui más allá, pero también mencioné recursos para cada publicación de institutos (/ facultad/instituto/publicaciones), etc. Ese no es mi dilema, pero el hecho de que no importa qué URI tengo frente a {my_publication}, el URI apunta a un mismo recurso: la publicación en sí misma, que es única. –
@jan, No estoy seguro si esto responde a su comentario, pero cada consulta puede ser un recurso REST tal como lo es cada publicación. Una consulta debería contener solo una lista de publicación * nombres *. Por lo tanto, un cliente de su servicio web puede obtener primero la lista de todas las publicaciones del Instituto de Ciencias de la Información de la USC, y luego obtener cada publicación en esa lista. –