Servicio que se implementan en el paso-4
- Representación básica de Review
- Representación detallada de Book
Los Servicios CRUD del recurso Book
son los mismos que en el paso anterior. La diferencia está en la representación detallada de Book
que ahora incluye la colección de sus reviews.
Representación básica de Review
El subrecurso review no tiene una representación detallada porque no tiene ninguna relación con otros recursos.
{
id: '' /*Tipo Long*/,
name: '' /*Tipo String*/,
source: '' /*Tipo String*/,
description: '' /*Tipo String*/
}
Ejemplo representación de review
{
"id": 123,
"description": "un relato terrorífico",
"name": "Mi nueva review",
"source": "NY Times"
}
Representación detallada de Book
Le hemos agregado la colección de sus reviews.
{
id: '' /*Tipo Long*/,
name: '' /*Tipo String*/,
isbn: '' /*Tipo String*/,
image: '' /*Tipo String*/,
description: '' /*Tipo String*/,
publishingdate: '' /*Tipo Date*/,
editorial: '' /*Tipo representacion básica de Editorial*/
reviews: /*Tipo Colección de representaciones básicas de Review*/
}
Ejemplo JSON de una representación Book
Por ejemplo:
`GET books/{bookid}
Retorna una colección de objetos book en representación detallada de book.
Los Servicios nuevos en este paso están relacionados con la colección de reviews de un book books/{bookid}/reviews
GET books/{bookid}/reviews
Retorna una colección de objetos review, en representación básica, asociados con un objeto libro cuyo identificador es bookid
.
Parámetros
Nombre | Ubicación | Descripción | Requerido | Esquema |
---|---|---|---|---|
bookid | Path | bookid del objeto book del cual se va consultar sus reviews |
Sí | Integer |
Respuesta
Código | Descripción | Cuerpo |
---|---|---|
200 | OK | Colección de objetos review en Representación básica de review |
404 | No existe un objeto book con el bookid solicitado |
Mensaje de error |
GET books/{bookid}/reviews/{reviewsid}
Retorna el objeto review con identificador reviewsid
, en representación detallada, asociado con el objeto libro bookid
.
Parámetros
Nombre | Ubicación | Descripción | Requerido | Esquema |
---|---|---|---|---|
bookid | Path | bookid del objeto book del cual se va consultar sus reviews |
Sí | Integer |
reviewsid | Path | reviewsid del objeto review que se va a consultar |
Sí | Integer |
Respuesta
Código | Descripción | Cuerpo |
---|---|---|
200 | OK | Objeto review en Representación básica de review |
404 | No existe un objeto book con el bookid solicitado |
Mensaje de error |
404 | No existe un objeto review con el reviewid asociado con un book bookid |
Mensaje de error |
POST books/{bookid}/reviews/{reviewsid}
Agrega a la colección de reviews del book con identificador bookid
un objeto review con identificador reviewsid
.
Parámetros
Nombre | Ubicación | Descripción | Requerido | Esquema |
---|---|---|---|---|
bookid | Path | bookid del objeto book del cual se va a agregar un review |
Sí | Integer |
reviewsid | Path | reviewsid del objeto review que se va a agregar a la colección de reviews de la book |
Sí | Integer |
Respuesta
Código | Descripción | Cuerpo |
---|---|---|
200 | OK | Se agregó el review a la colección |
404 | No existe un objeto book con el bookid solicitado |
Mensaje de error |
404 | No existe un objeto review con el reviewid dado |
Mensaje de error |
PUT books/{bookid}/reviews
Remplaza la colección de objetos review asociada con un objeto libro cuyo identificado es bookid
.
Parámetros
Nombre | Ubicación | Descripción | Requerido | Esquema | |
---|---|---|---|---|---|
booksid | Path | ID del objeto Editorial cuya colección será reemplazada | Sí | Integer | |
body | body | Colección de objetos review en Representación básica de review | Sí |
Respuesta
Código | Descripción | Cuerpo |
---|---|---|
200 | Se remplazó la colección | Colección de objetos review |
404 | No existe un objeto book con el bookid dado |
Mensaje de error |
404 | No existe alguno de los objetos review en la colección pasada por parámetro. | Mensaje de error |
DELETE books/{booksid}/reviews/{reviewsid}
Remueve un objeto review de la colección en un objeto libro.
Parámetros
Nombre | Ubicación | Descripción | Requerido | Esquema |
---|---|---|---|---|
bookid | Path | bookid del objeto book del cual se va a borrar un review |
Sí | Integer |
reviewsid | Path | reviewsid del objeto review que se va a borrar de la colección de reviews del book |
Sí | Integer |
Respuesta
Código | Descripción | Cuerpo |
---|---|---|
200 | Objeto removido | N/A |
404 | No existe un objeto book con el bookid solicitado |
Mensaje de error |
404 | No existe un objeto review con el reviewid asociado con un book bookid |
Mensaje de error |