我正在使用支持 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
.