Ich verwende Spring Data REST, die HATEOAS unterstützt. Ich bin neu in diesem Paradigma.Bedeutung und Verwendung von "_embedded" in HATEOAS
In GET
Antworten von meinem RESTful-Webdienst erhalte ich oft Ergebnisse innerhalb eines Knotens mit dem Namen _embedded
. Ich frage mich: Was ist _embedded
Knoten für? Ist es Teil der REST-Spezifikation? Oder Teil der HATEOAS-Spezifikation? Oder ist es spezifisch für die Frühlingsimplementierung von ihnen?
Dies ist ein Beispiel von JSON Ergebnis für GET http://localhost:8080/mywebservice/features
:
{
"_links":
{
"search": { "href": "http://localhost:8080/mywebservice/features/search" }
},
"_embedded":
{
"features":
[
{
"feature": "GROUND",
"name": "Terreno",
"data_type": "String",
"_links":
{
"self" : { "href": "http://localhost:8080/mywebservice/features/GROUND" },
"values": { "href": "http://localhost:8080/mywebservice/features/GROUND }
}
},
...
]
}
}
Ich bemerkte, dass ich fast immer _embedded
Knoten in der Antwort habe: wenn ich bitte um eine Sammlung, sondern auch dann, wenn eine Anforderung eine einzelne Ressource durch eine Suche (zum Beispiel mit GET http://localhost:8080/mywebservice/persons/search/[email protected]@.com
).
Ich bekomme nicht _embedded
Knoten nur, wenn die Anfrage für eine bestimmte Ressource ist, zum Beispiel, wenn Sie GET http://localhost:8080/mywebservice/features/GROUND
tun.