Ich baue eine REST-API, wo ich "Bücher" und "Benutzer" habe. Sie können nur ein einzigartiges Buch existieren. Obwohl ein Benutzer mehrere Bücher haben kann und verschiedene Benutzer das gleiche Buch haben können (oder sich auf dasselbe beziehen). Ein Benutzer kann einem Buch zusätzliche Informationen hinzufügen (z. B. Bewertung).Wie behandelt man, wenn REST-Ressourcen mit bereits vorhandenen Ressourcen verknüpft sind und diese erweitern?
Meine Frage ist: Was ist eine korrekte Möglichkeit, die Ressourcen zuzuordnen, wenn Benutzer eine bereits vorhandene Buch-Ressource mit ihren eigenen Einstellungen "erweitern"?
Beispiel: Ein Erstbenutzer hat keine Bücher, aber sie können ein Buch erstellen. Wenn das Buch nicht existiert, wird es erstellt, wenn es existiert, erhalten sie Zugriff darauf. Sie können jedoch eigene private Zusatzinformationen hinzufügen.
Ist das ein richtiger Weg?
// Alle Bücher mit den grundlegenden erforderlichen Informationen können auf/Bücher zu erreichen /: id Beispiel:/Bücher/1 {
"id":1,
"title":"The Empire",
"description":"Description about the book",
"serial":1234
}
// Wenn ein Benutzer das schafft Buch "The Empire" (Serie: 1234) erweitern sie das bereits existierende Buch, haben aber zusätzliche Informationen hinzugefügt, so dass es sich eigentlich um eine neue URL handelt, die sich jedoch auf die Buch-ID bezieht.
Beispiel:/users/421/Bücher/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."
}
Oder auch:
{
"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."
}
Oder sogar eine URL smth wie/users/421/Bücher/1/Einstellungen/
hat @jayraynet Ihre Frage beantwortet? –