Utilizzo Spring Data REST, che supporta HATEOAS. Sono nuovo di questo paradigma.Significato e utilizzo di "_embedded" in HATEOAS
Nelle risposte GET
dal servizio web RESTful spesso ricevo risultati all'interno di un nodo denominato _embedded
.
Mi chiedo: per cosa è il nodo _embedded
? Fa parte delle specifiche REST? O parte delle specifiche HATEOAS? O è specifico per l'implementazione di Spring di loro?
Questo è un esempio di risultato JSON per 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 }
}
},
...
]
}
}
ho notato che ho quasi sempre avuto _embedded
nodo nella risposta: se chiedo una collezione, ma anche se una richiesta di una singola risorsa una ricerca (ad esempio con GET http://localhost:8080/mywebservice/persons/search/[email protected]@.com
).
Non riesco a ottenere il nodo _embedded
solo se la richiesta riguarda una risorsa specifica, ad esempio quando si esegue GET http://localhost:8080/mywebservice/features/GROUND
.