<<<<<<< HEAD
La comunicación entre cliente y servidor se realiza intercambiando objetos JSON. Para cada entidad se hace un mapeo a JSON, donde cada uno de sus atributos se transforma en una propiedad de un objeto JSON. Todos los servicios se generan en la URL /Artwork.api/api/. Por defecto, todas las entidades tienen un atributo id
, con el cual se identifica cada registro:
{
id : '' ,
attribute_1 : '' ,
attribute_2 : '' ,
...
attribute_n : ''
}
Cuando se transmite información sobre un registro específico, se realiza enviando un objeto con la estructura mencionada en la sección anterior.
La única excepción se presenta al solicitar al servidor una lista de los registros en la base de datos, que incluye información adicional para manejar paginación de lado del servidor en el header X-Total-Count
y los registros se envían en el cuerpo del mensaje como un arreglo.
La respuesta del servidor al solicitar una colección presenta el siguiente formato:
API de la aplicación Artwork
El objeto Artist tiene 2 representaciones JSON:
{
id : '' /*Tipo Long*/ ,
name : '' /*Tipo String*/
}
Retorna una colección de objetos Artist en representación Detail.
Código
Descripción
Cuerpo
200
OK
Colección de representaciones Detail
409
Un objeto relacionado no existe
Mensaje de error
500
Error interno
Mensaje de error
Retorna una colección de objetos Artist en representación Detail.
Nombre
Ubicación
Descripción
Requerido
Esquema
id
Path
ID del objeto Artist a consultar
Sí
Integer
Código
Descripción
Cuerpo
200
OK
Objeto Artist en representaciones Detail
404
No existe un objeto Artist con el ID solicitado
Mensaje de error
500
Error interno
Mensaje de error
Es el encargado de crear objetos Artist.
Nombre
Ubicación
Descripción
Requerido
Esquema
body
body
Objeto Artist que será creado
Sí
Representación Detail
Código
Descripción
Cuerpo
201
El objeto Artist ha sido creado
Representación Detail
409
Un objeto relacionado no existe
Mensaje de error
500
No se pudo crear el objeto Artist
Mensaje de error
Es el encargado de actualizar objetos Artist.
Nombre
Ubicación
Descripción
Requerido
Esquema
id
Path
ID del objeto Artist a actualizar
Sí
Integer
body
body
Objeto Artist nuevo
Sí
Representación Detail
Código
Descripción
Cuerpo
201
El objeto Artist actualizado
Representación Detail
409
Un objeto relacionado no existe
Mensaje de error
500
No se pudo actualizar el objeto Artist
Mensaje de error
Elimina un objeto Artist.
Nombre
Ubicación
Descripción
Requerido
Esquema
id
Path
ID del objeto Artist a eliminar
Sí
Integer
Código
Descripción
Cuerpo
204
Objeto eliminado
N/A
500
Error interno
Mensaje de error
GET artists/{artistsid}/artworks
Retorna una colección de objetos Artwork asociados a un objeto Artist en representación Detail.
Nombre
Ubicación
Descripción
Requerido
Esquema
id
Path
ID del objeto Artist a consultar
Sí
Integer
Código
Descripción
Cuerpo
200
OK
Colección de objetos Artwork en representación Detail
500
Error consultando artworks
Mensaje de error
GET artists/{artistsid}/artworks/{artworksid}
Retorna un objeto Artwork asociados a un objeto Artist en representación Detail.
Nombre
Ubicación
Descripción
Requerido
Esquema
artistsid
Path
ID del objeto Artist a consultar
Sí
Integer
artworksid
Path
ID del objeto Artwork a consultar
Sí
Integer
Código
Descripción
Cuerpo
200
OK
Objeto Artwork en representación Detail
404
No existe un objeto Artwork con el ID solicitado asociado al objeto Artist indicado
Mensaje de error
500
Error interno
Mensaje de error
POST artists/{artistsid}/artworks/{artworksid}
Asocia un objeto Artwork a un objeto Artist.
Nombre
Ubicación
Descripción
Requerido
Esquema
artistsid
PathParam
ID del objeto Artist al cual se asociará el objeto Artwork
Sí
Integer
artworksid
PathParam
ID del objeto Artwork a asociar
Sí
Integer
PUT artists/{artistsid}/artworks
Es el encargado de actualizar un objeto Artwork asociada a un objeto Artist.
Nombre
Ubicación
Descripción
Requerido
Esquema
artistsid
Path
ID del objeto Artist cuya colección será remplazada
Sí
Integer
body
body
Colección de objetos Artwork
Sí
Representación Detail
Código
Descripción
Cuerpo
200
Se actualizo el objeto
Objeto Artwork en Representación Detail
500
No se pudo actualizar
Mensaje de error
DELETE artists/{artistsid}/artworks/{artworksid}
Remueve un objeto Artwork asociado a un objeto Artist.
Nombre
Ubicación
Descripción
Requerido
Esquema
artistsid
Path
ID del objeto Artist asociado al objeto Artwork
Sí
Integer
artworksid
Path
ID del objeto Artwork a remover
Sí
Integer
Código
Descripción
Cuerpo
204
Objeto removido
N/A
500
Error interno
Mensaje de error
Volver arriba
El objeto Client tiene 2 representaciones JSON:
{
id : '' /*Tipo Long*/ ,
name : '' /*Tipo String*/
}
Retorna una colección de objetos Client en representación Detail.
Código
Descripción
Cuerpo
200
OK
Colección de representaciones Detail
409
Un objeto relacionado no existe
Mensaje de error
500
Error interno
Mensaje de error
Retorna una colección de objetos Client en representación Detail.
Nombre
Ubicación
Descripción
Requerido
Esquema
id
Path
ID del objeto Client a consultar
Sí
Integer
Código
Descripción
Cuerpo
200
OK
Objeto Client en representaciones Detail
404
No existe un objeto Client con el ID solicitado
Mensaje de error
500
Error interno
Mensaje de error
Es el encargado de crear objetos Client.
Nombre
Ubicación
Descripción
Requerido
Esquema
body
body
Objeto Client que será creado
Sí
Representación Detail
Código
Descripción
Cuerpo
201
El objeto Client ha sido creado
Representación Detail
409
Un objeto relacionado no existe
Mensaje de error
500
No se pudo crear el objeto Client
Mensaje de error
Es el encargado de actualizar objetos Client.
Nombre
Ubicación
Descripción
Requerido
Esquema
id
Path
ID del objeto Client a actualizar
Sí
Integer
body
body
Objeto Client nuevo
Sí
Representación Detail
Código
Descripción
Cuerpo
201
El objeto Client actualizado
Representación Detail
409
Un objeto relacionado no existe
Mensaje de error
500
No se pudo actualizar el objeto Client
Mensaje de error
Elimina un objeto Client.
Nombre
Ubicación
Descripción
Requerido
Esquema
id
Path
ID del objeto Client a eliminar
Sí
Integer
Código
Descripción
Cuerpo
204
Objeto eliminado
N/A
500
Error interno
Mensaje de error
GET clients/{clientsid}/wishlist
Retorna una colección de objetos Item asociados a un objeto Client en representación Detail.
Nombre
Ubicación
Descripción
Requerido
Esquema
id
Path
ID del objeto Client a consultar
Sí
Integer
Código
Descripción
Cuerpo
200
OK
Colección de objetos Item en representación Detail
500
Error consultando wishlist
Mensaje de error
GET clients/{clientsid}/wishlist/{wishlistid}
Retorna un objeto Item asociados a un objeto Client en representación Detail.
Nombre
Ubicación
Descripción
Requerido
Esquema
clientsid
Path
ID del objeto Client a consultar
Sí
Integer
wishlistid
Path
ID del objeto Item a consultar
Sí
Integer
Código
Descripción
Cuerpo
200
OK
Objeto Item en representación Detail
404
No existe un objeto Item con el ID solicitado asociado al objeto Client indicado
Mensaje de error
500
Error interno
Mensaje de error
POST clients/{clientsid}/wishlist/{wishlistid}
Asocia un objeto Item a un objeto Client.
Nombre
Ubicación
Descripción
Requerido
Esquema
clientsid
PathParam
ID del objeto Client al cual se asociará el objeto Item
Sí
Integer
wishlistid
PathParam
ID del objeto Item a asociar
Sí
Integer
PUT clients/{clientsid}/wishlist
Es el encargado de actualizar un objeto Item asociada a un objeto Client.
Nombre
Ubicación
Descripción
Requerido
Esquema
clientsid
Path
ID del objeto Client cuya colección será remplazada
Sí
Integer
body
body
Colección de objetos Item
Sí
Representación Detail
Código
Descripción
Cuerpo
200
Se actualizo el objeto
Objeto Item en Representación Detail
500
No se pudo actualizar
Mensaje de error
DELETE clients/{clientsid}/wishlist/{wishlistid}
Remueve un objeto Item asociado a un objeto Client.
Nombre
Ubicación
Descripción
Requerido
Esquema
clientsid
Path
ID del objeto Client asociado al objeto Item
Sí
Integer
wishlistid
Path
ID del objeto Item a remover
Sí
Integer
Código
Descripción
Cuerpo
204
Objeto removido
N/A
500
Error interno
Mensaje de error
Volver arriba
El objeto Product tiene 2 representaciones JSON:
{
id : '' /*Tipo Long*/ ,
name : '' /*Tipo String*/ ,
price : '' /*Tipo Long*/
}
Retorna una colección de objetos Product en representación Detail.
Código
Descripción
Cuerpo
200
OK
Colección de representaciones Detail
409
Un objeto relacionado no existe
Mensaje de error
500
Error interno
Mensaje de error
Retorna una colección de objetos Product en representación Detail.
Nombre
Ubicación
Descripción
Requerido
Esquema
id
Path
ID del objeto Product a consultar
Sí
Integer
Código
Descripción
Cuerpo
200
OK
Objeto Product en representaciones Detail
404
No existe un objeto Product con el ID solicitado
Mensaje de error
500
Error interno
Mensaje de error
Es el encargado de crear objetos Product.
Nombre
Ubicación
Descripción
Requerido
Esquema
body
body
Objeto Product que será creado
Sí
Representación Detail
Código
Descripción
Cuerpo
201
El objeto Product ha sido creado
Representación Detail
409
Un objeto relacionado no existe
Mensaje de error
500
No se pudo crear el objeto Product
Mensaje de error
Es el encargado de actualizar objetos Product.
Nombre
Ubicación
Descripción
Requerido
Esquema
id
Path
ID del objeto Product a actualizar
Sí
Integer
body
body
Objeto Product nuevo
Sí
Representación Detail
Código
Descripción
Cuerpo
201
El objeto Product actualizado
Representación Detail
409
Un objeto relacionado no existe
Mensaje de error
500
No se pudo actualizar el objeto Product
Mensaje de error
Elimina un objeto Product.
Nombre
Ubicación
Descripción
Requerido
Esquema
id
Path
ID del objeto Product a eliminar
Sí
Integer
Código
Descripción
Cuerpo
204
Objeto eliminado
N/A
500
Error interno
Mensaje de error
Volver arriba
El objeto Category tiene 2 representaciones JSON:
{
id : '' /*Tipo Long*/ ,
name : '' /*Tipo String*/
}
{
// todo lo de la representación Minimum más los objetos Minimum con relación simple.
parentCategory : {
id : '' /*Tipo Long*/ ,
name : '' /*Tipo String*/ }
}
Retorna una colección de objetos Category en representación Detail.
Cada Category en la colección tiene embebidos los siguientes objetos: Category.
Código
Descripción
Cuerpo
200
OK
Colección de representaciones Detail
409
Un objeto relacionado no existe
Mensaje de error
500
Error interno
Mensaje de error
Retorna una colección de objetos Category en representación Detail.
Cada Category en la colección tiene los siguientes objetos: Category.
Nombre
Ubicación
Descripción
Requerido
Esquema
id
Path
ID del objeto Category a consultar
Sí
Integer
Código
Descripción
Cuerpo
200
OK
Objeto Category en representaciones Detail
404
No existe un objeto Category con el ID solicitado
Mensaje de error
500
Error interno
Mensaje de error
Es el encargado de crear objetos Category.
Nombre
Ubicación
Descripción
Requerido
Esquema
body
body
Objeto Category que será creado
Sí
Representación Detail
Código
Descripción
Cuerpo
201
El objeto Category ha sido creado
Representación Detail
409
Un objeto relacionado no existe
Mensaje de error
500
No se pudo crear el objeto Category
Mensaje de error
Es el encargado de actualizar objetos Category.
Nombre
Ubicación
Descripción
Requerido
Esquema
id
Path
ID del objeto Category a actualizar
Sí
Integer
body
body
Objeto Category nuevo
Sí
Representación Detail
Código
Descripción
Cuerpo
201
El objeto Category actualizado
Representación Detail
409
Un objeto relacionado no existe
Mensaje de error
500
No se pudo actualizar el objeto Category
Mensaje de error
Elimina un objeto Category.
Nombre
Ubicación
Descripción
Requerido
Esquema
id
Path
ID del objeto Category a eliminar
Sí
Integer
Código
Descripción
Cuerpo
204
Objeto eliminado
N/A
500
Error interno
Mensaje de error
origin/master