Wir möchten einen Bildschirm auf mehreren Clients erstellen, der "5 meistverkaufte Produkte", "5 kürzlich hinzugefügte Produkte" und "5 Produkte mit tollen Angeboten" anzeigt. All dies würde als Karussell angezeigt werden.REST Hateos: Wie kann sichergestellt werden, dass der Client eine REST-Anwendung über eine einfache feste URL eingibt?
Wir möchten Restful APIs für diese erstellen. Wir haben folgende APIs erstellt:
- /api/bestsellingproduct/
- /api/recentlyaddedproduct/
- /api/greatofferproduct/
Derzeit jeder Kunde also Desktop, Mobile, Android, IOS hat diese URIs hart-codiert. Ich bin besorgt, wenn wir diese URLs morgen ändern, wäre es umständlich und auch REST schlägt vor, dass "Ein REST-Client eine REST-Anwendung durch eine einfache feste URL eingibt. (Ref: https://en.wikipedia.org/wiki/HATEOAS)"
Kann jemand vorschlagen, wie ich sicherstellen kann dass alle Kunden in diesem Fall eine Anwendung über eine einfache feste URL eingeben?
Danke für die tolle Antwort. Eine solche Hard-Codierung zu vermeiden, würde uns nur bei einer zukünftigen Änderung der URIs retten. Wir müssen weiterhin sicherstellen, dass der Antworttext dieser geänderten URIs der gleiche wie der der vorherigen URIs bleibt. Gibt es eine Möglichkeit, eine solche hartcodierte Antwort auf Client-Ebene zu vermeiden (wie wir es hier getan haben, um die URIs nicht hart zu codieren)? – maverick
Modelle sind Teil des Vertrags, und sind nicht zu brechen; Wenn Sie sich jedoch in einer Situation befinden, in der Sie die Rückwärtskompatibilität brechen müssen (z. B. Entfernen einer Eigenschaft aus dem Modell, weil nur eine neue hinzugefügt werden kann), können Sie zur Versionierung wechseln: Sie hätten '/ api/v1' für das alte und dann 'api/v2' usw., so dass es dem Kunden überlassen wird, die API-Version zu wählen –
Unsere Kunden haben zwei Arten von Ansichten, eine Ansichtsart hat Karussell für Bestseller/kürzlich hinzugefügt/Großangebot- Produkt. Der andere Ansichtstyp hat Bildschaltflächen für ein Produkt im Budget, d. H. Ein Bild für "Mobil-weniger-als-100", ein anderes für "Mobil-weniger-als-200".Für die Bildschaltflächenansicht wäre json wie [{"title": "mobiles-weniger-als-100", "URI": "/ api/stocks /? Budget = 0-100"}]. Wenn wir mit Karussell und Knopf nach oben oder unten experimentieren wollen, wie soll das gehandhabt werden? – maverick