Estoy construyendo una API REST donde tengo "Libros" y "Usuarios". Solo pueden existir un Libro único. Aunque un Usuario puede tener varios Libros y diferentes usuarios pueden tener el mismo Libro (o referencia al mismo). Un usuario puede agregar información adicional a un libro (por ejemplo, calificación).¿Cómo se maneja cuando los recursos REST están vinculados y amplían los recursos ya existentes?
Mi pregunta es: ¿Cuál es la forma correcta de asignar los recursos cuando los usuarios están "extendiendo" un recurso de libro ya existente con sus propios ajustes?
Ejemplo: un usuario por primera vez no tiene libros pero puede crear un libro. Si el libro no existe, se crea, si existe, obtiene acceso a él. Aunque pueden agregarle su propia información privada adicional.
¿Es esta una manera correcta?
// Todos los Libros con la información básica necesaria se puede llegar a/libros /: id Ejemplo:/libros/1 {
"id":1,
"title":"The Empire",
"description":"Description about the book",
"serial":1234
}
// Si un usuario crea la libro "The Empire" (serie: 1234) están extendiendo el libro ya existente, pero han agregado información adicional por lo que en realidad es una nueva URL, pero se refiere a la identificación del libro.
ejemplo:/usuarios/421/libros/1/
{
"id":1,
"title":"The Empire",
"description":"Description about the book",
"serial":1234,
"rating":5.5,
"note":"I liked the book but it was too long."
}
O incluso:
{
"book":{
id":1,
"title":"The Empire",
"description":"Description about the book",
"serial":1234,
}
"rating":5.5,
"note":"I liked the book but it was too long."
}
O incluso un smth URL como/usuarios/421/libros/1/configuración/
{
"rating":5.5,
"note":"I liked the book but it was too long."
}
did @jayraynet responda a su pregunta? –