Wenn Sie einen REST-Service mit der Einschränkung HATEOAS erstellen , ist es sehr einfach, das Vorhandensein von Ressourcen durch Verknüpfen anzukündigen . Sie erstellen einen GET
Eintrag im Stammverzeichnis meiner Website und ich antworte mit dem Stammdokument, in dem alle Ressourcen der ersten Ebene aufgeführt sind:
{
users: { href: "/users" }
questions { href: "/questions" }
}
Clients, die verstehen, wie diese href
Werte gelesen werden, können GET
Anforderungen an diese ausführen und alle aktuellen in der Anwendung verfügbaren Ressourcen ermitteln.
Dies funktioniert gut für grundlegende Suchszenarien, gibt jedoch nicht an, ob eine Ressource abfragbar ist. Zum Beispiel kann es sinnvoll sein, Folgendes auszuführen:
GET /users?surname=Smith
Gibt es Formate, die diese Abfragefähigkeit mit genügend Informationen ausdrücken können, damit ein Client eine kohärente Abfrage erstellen kann, ohne dass er zuvor über die Ressource informiert ist?
Darüber hinaus gibt es eine Möglichkeit auszudrücken, dass ein Client einen POST
an einem bestimmten Ort mit einem erwarteten Ort ausführen darf . Beispielsweise kann erwartet werden, dass ein Client Folgendes ausführt, um eine neue Fragenressource zu erstellen:
POST /questions
{
title: "Are there strategies for discovering REST services using HATEOAS?",
body: "When building a REST service with the HATEOAS constraint, it's very..."
}
Wenn wir HTML als Format für den menschlichen Gebrauch verwenden, können wir viel davon durch die Verwendung von Formularen und schriftlichen Eingabeaufforderungen ausdrücken, damit ein Mensch die Vorgänge erkennen kann, die er für einen Dienst ausführen darf.
Gibt es Formate, die für Kunden ähnliche Funktionen bieten?