Ich habe eine Reihe von normalisierten Tabellen, genannt danger
, countermeasure
und module
. Jetzt habe ich eine dreispaltige Tabelle krt
, die die Verbindung zwischen den drei Tabellen darstellt. (Spaltennamen danger_id
, countermeasure_id
, module_id
) Die normalen Endpunkte wie /danger
zeigen die Elemente der entsprechenden Tabelle.REST API mit komplexen SQL-Operationen
/krt?where={result: module, danger_id: x}
würde die Tabelle krt
für alle Gefahren mit danger_id == x abfragen und das Ergebnis mit der Modultabelle verbinden. Das Ergebnis aussehen würde (für die Anzeige umgewandelt)
danger_id:
- module a
- module b
danger_id2:
- module ..
[...]
Ich könnte natürlich einen Blick liefern und einen benutzerdefinierten Endpunkt für diese Ansicht hinzufügen. Aber es gibt nicht nur drei mögliche Ansichten, sondern auch komplexere mit ein oder zwei zusätzlichen Verbindungen. (kann bei Bedarf auch ein Beispiel liefern)
Daher ist diese Art von Abfrage und Beitritt ein gemeinsames Konzept oder verletze ich irgendwelche der REST-Einschränkungen mit diesem Design? Gibt es eine bessere/intuitivere Art, solche Informationen bereitzustellen?
Immer noch auf jemanden mit ein wenig Erfahrung hoffen. Ich denke, es könnte zumindest das Cachability-Prinzip brechen, da das zugrunde liegende Dokument erzeugt und nicht aus der Datenbank geholt wird. Bei jeder Anfrage müsste der Join erneut gemacht werden. – matt3o