Kann der Hypermedia-Typ HAL + JSON so verwendet werden, dass ein REST-fähiger Dienst erstellt wird?HAL + JSON-Hypermedientyp kein Medientyp für REST?
Von dem, was ich gelesen habe, sollte der Client einer RESTful-API nicht verschiedene Ressourcen mit speziellen Fällen behandeln müssen. Der Medientyp sollte stattdessen verwendet werden, um zu beschreiben, wie Ressourcen aussehen sollen.
Die HAL spec gibt folgendes Beispiel:
GET /orders
{
...
"shippedToday": 20,
...
}
`` `
Als Kunde von dieser Probe HAL + API JSON-Serving, scheine ich, dass eine "Ordnung" zu müssen wissen, hat eine Attribut von shippedToday
. Das scheint gegen die Einschränkung zu gehen, dass der Client die Syntax der Repräsentation nicht verstehen sollte.
Dies ist keine Kritik an HAL. Die Frage ist, meinem (und anderen) Verständnis des RESTful-API-Designs zu helfen.
Ich habe dies ein paar Mal jetzt gelesen und es ist nicht wirklich weiter mein Verständnis von was HAL_links bietet. Sagen Sie mir, dass ich aus den _links-Eigenschaften verstehen sollte, dass ich die Dokumentation unter "/ docs/rels/orders" lesen sollte, um zu erfahren, wie die "/ orders" -URL ein HAL-Satz von Endpunkten ist, die CRUD-Funktionalität für Bestellungen bieten? Mir scheint nur widersinnig, dass ich das Label einer Eigenschaft als URL verwenden sollte. – Adam
@Adam Ja, es ist in der Tat ein wenig kontraintuitiv. Und soweit ich das beurteilen kann, ist dein Verständnis korrekt. Um Link-Relationstypen besser lesbar zu machen, können Sie CURIEs verwenden (siehe http://stateless.co/hal_specification.html). – leifbattermann