Ich habe Probleme, eine REST-API zu strukturieren, bei der mehrere Eigentümer dieselbe Ressource verwenden können. Zum Beispiel, wenn es users
und organizations
gibt und jeder von ihnen etwas wie images
oder locations
hat. Ein Bild und ein Objekt ist ein Datenbankfeld, die die gleiche ist für Benutzer und Organisationen ... ich zwei grundlegende Möglichkeiten, um darüberREST-API-Ressourcenstruktur, in der mehrere "Eigentümer" vorhanden sind
Separate Endpunkte gehen sehen:
POST /users/:userID/documents
GET /users/:userID/documents/:id
POST /org/:orgID/documents
GET /org/:orgID/documents/:id
Profis getrennten Endpunkte: Die Logik ist sauber und alles ist sehr offensichtlich
Nachteile von separaten Endpunkten: Es gibt eine Menge Code-Kopieren zwischen den Endpunkten.
Gemeinsame Endpunkte:
POST /documents
GET /documents/:id
Profis von separaten Endpunkte: Es gibt insgesamt weniger Endpunkte, weniger Code kopieren.
Nachteile der getrennten Endpunkte: Die Logik chaotisch wird, IDK die beste Weg, um eine Abfrage-String verwenden könnte gehen über die orgID
oder userID
mit der Anfrage (ohne tatsächlich die Schaffung eines neuen Endpunkt in der /documents
Ressource sendet ich. , aber das fühlt es einfach falsch ... (IDK wenn es falsch ist)
Jede Beratung?