REST
Sistemas Orientados a Servicios
Diseño e implementación de un
servicio web RESTful
DESCRIPCION DEL SERVICIO WEB PROPUESTO
Se trata de diseñar e implementar una API REST y un prototipo funcional de
un servicio sencillo de calendario.
PASO 1 Diseño de un servicio RESTful paso a paso
Identificación de todos los recursos dentro de un modelo de recursos para el
servicio incluyendo, colecciones, fábricas, recursos compuestos etc.
Recursos Colecciones Fabricas
Recursos
Controladores
Compuestos
Calendario Calendario Calendario
Cita
Cita
Cita
User
User
User
Diseño
del
servicio
utilizando
la
siguiente
tabla
por cada
recurso
definido.
URI
Método
Cadena de consulta
GET
Cuerpo de la petición
(PUT, POST)
Devuelve.
Patrón de URI del recurso
GET / POST / PUT / DELETE
Param1
Descripción del parámetro y del conjunto
de valores posibles
Etc.
Etc.
POX (tipo MIME o application/XML + referencia al
XMLSchema, etc.)
200
OK+POX (tipo MIME o application/XML
+ referencia al XMLSchema, etc.)
401
Unauthorized
Etc
Etc
-‐‑ Obtener una lista de todos nuestros calendarios
URI
Método
Cadena de
consulta GET
Devuelve.
http://micalendario.com/users/[id_user]/calendarios
GET
Param1
Filtrar por el id del usuario para obtener todos
nuestros calendarios
200
OK + POX (micalendario/calendarios+xml) Una
lista de calendarios.
404
Not Found
-‐‑ Obtener una lista de todas nuestras citas y limitar la cantidad de
información obtenida por número de citas.
2
URI
Método
Cadena de
consulta GET
Devuelve
http://micalendario.com/users/[id_user]/citas/limite
GET
limite= Filtra limite registros
Param1 Filtrar por el id del usuario
200
OK. + POX (micalendario/citas+xml) Una lista de todas
las citas filtradas.
404
Not Found
-‐‑ Obtener una lista de todas nuestras citas y filtrar esa lista por fecha .
URI
Método
Cadena de
consulta GET
Devuelve
http://micalendario.com/users/ id_user]/citas/lascitas
GET
Param1 Filtrar por el id del usuario
from= Filtrar por fecha desde
to=
Filtrar por fecha hasta
200
OK. + POX (micalendario/citas+xml) Una lista de
todas las citas filtradas.
404
Not Found
-‐‑ Obtener el número de citas en un determinado periodo.
URI
Método
Cadena de
consulta GET Devuelve
http://micalendario.com/users/citas//[id_user]/count
GET
Param Filtrar por el id del usuario
from= Filtra por fecha desde
to=
Filtrar por fecha hasta
200
OK y entero con el número de favoritos (text/ plain)
404
Not Found
-‐‑ Añadir un nuevo calendario.
URI
Método
Cuerpo de la
petición (PUT, POST)
Devuelve
http://micalendario.com/users/[id_user]/calendario
POST
POX (micalendario/calendario+xml)
201 Created y cabecera location
-‐‑ Añadir una cita a un calendario.
URI
Método
Cuerpo de la
petición
(PUT, POST)
Devuelve
http://micalendario.com/calendarios/[id_calendario]/cita
POST
POX (micalendario/citas+xml)
201
401
Created y cabecera location
Unauthorized
-‐‑ Editar una cita.
URI
Método
Cuerpo de la
petición
(PUT, POST)
Devuelve
http://micalendario.com/citas/[id_cita]
POST
POX (micalendario/citas+xml)
415
404
Unsupported media type.
Not found
-‐‑ Eliminar una...
Regístrate para leer el documento completo.