Ich habe REST API nach dem Prinzip implementiert, die nur Ruhe die Grundlagen und Refs in diesen Dokumenten gibt zurück HowTo andere Dinge etc etcRESTful API Sortierung Dilemma
Zum Beispiel a/Auto/5 gibt mir Modell: blabla, user_id: 1 und dann, wenn Sie den Besitzer benötigen, erhalten Sie/user/1, um Benutzerdaten zu erhalten.
Auf diese Weise JOINS und Sachen sind in DB vermieden .. alle Dinge sind Verknüpfung zwischen sich selbst und Daten miteinander verbunden auf Rest-Client-Teil - Dinge einfach zu halten Cache/Drop-Cache, Maßstab etc.
Aber was passiert, wenn Sie sortieren müssen?
Stellen Sie sich vor, wir haben eine Ansicht auf dem Frontend, um folgende Daten anzuzeigen: Automodell, Benutzername, etc ... und Sie möchten nach Benutzernamen zum Beispiel sortieren.
Man kann nicht wirklich das sagen/Auto/5 nach Usernamen zu sortieren weil es nur von Benutzer-IDs weiß ...
Eine Option, die ich sehe, ist das Sortieren von Benutzern/user/list? Sortby = Benutzername und dann verbinden, welche der zurückgegebenen IDs sich tatsächlich auf das Auto beziehen. aber das bedeutet, wir müssen alle Benutzer .. und nur einen Bruchteil von denen, die Killer Leistung Engpass scheint.
Danke für alle Hinweise
gut alle persistance ist hinter dem REST..zurück derzeit ist ORM verwenden, aber ich denke nicht, dass dies relevant ist. –
Ich habe den Hinweis erhalten, dass Sie ORM verwendet haben, weil Sie gesagt haben, dass Sie Joins in der DB vermieden haben und alle Ihre Objekte in der REST-Anwendungsebene verbunden haben. Ich kann die Attraktivität dieser einfachen sauberen Architektur sehen, aber es ist wahrscheinlich die Wurzel Ihres aktuellen Dilemmas. Ich würde versuchen, diese Architektur zu kompromittieren, um die Anwendung zum Laufen zu bringen: zusätzliche gespeicherte Prozeduren oder Ansichten auf der Datenbank, die die Daten vorsortiert zurückgeben, ORM-Mapping für diese Objekte bereitstellen und die REST-Anwendung auswählen lassen zwischen Methoden abhängig von der Abfrage. –