HATEOAS をサポートする Spring Data REST を使用しています。私はこのパラダイムに不慣れです。
GET
RESTful Web サービスからの応答で、 という名前のノード内で結果を受け取ることがよくあります_embedded
。
私は疑問に思っています:ノードは何のためですか? _embedded
REST仕様の一部ですか? それともHATEOAS仕様の一部?それとも、それらのSpring実装に固有のものですか?
の JSON 結果の例を次に示します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 }
}
},
...
]
}
}
ほとんど_embedded
の場合、応答にノードが含まれていることに気付きました。コレクションを要求した場合でも、検索によって単一のリソースを要求した場合でも (たとえば、 を使用GET http://localhost:8080/mywebservice/persons/search/findByEmail?email=example@example@.com
)。
_embedded
リクエストが特定のリソースに対するものである場合にのみ、ノードを取得しません。たとえば、 GET http://localhost:8080/mywebservice/features/GROUND
.