Buduję API REST, gdzie mam "Książki" i "Użytkownicy". Ich może istnieć tylko jedna wyjątkowa Księga. Chociaż użytkownik może mieć kilka książek, a różni użytkownicy mogą mieć tę samą książkę (lub odwoływać się do tego samego). Użytkownik może dodawać dodatkowe informacje do książki (np. Ocena).Jak radzić sobie, gdy zasoby REST są połączone i rozszerzają istniejące zasoby?
Moje pytanie brzmi: Jaki jest właściwy sposób mapowania zasobów, gdy Użytkownicy "rozszerzają" istniejący zasób Książek z własnymi ustawieniami?
Przykład: Użytkownik po raz pierwszy nie ma książek, ale może utworzyć książkę. Jeśli książka nie istnieje, zostanie utworzona, jeśli istnieje, otrzyma do niej dostęp. Chociaż mogą dodawać do niego własne prywatne dodatkowe informacje.
Czy to właściwy sposób?
// Wszystkie Książki z podstawowego wymaganych informacji można dotrzeć/książki /: id Przykład:/książki/1 {
"id":1,
"title":"The Empire",
"description":"Description about the book",
"serial":1234
}
// Jeśli użytkownik tworzy książka "The Empire" (serial: 1234) poszerza już istniejącą książkę, ale dodała dodatkowe informacje, więc jest to nowy adres URL, ale odnosi się do identyfikatora Book.
Przykład:/users/421/książki/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."
}
lub nawet:
{
"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."
}
a nawet czymś URL podobny/users/421/książek/1/ustawienia/
czy @jayraynet odpowiedział na twoje pytanie? –