小编Loï*_*net的帖子

使用JSON-LD和Hydra一次获取子资源的集合

在RESTful Web API一书中,作者建议公开一个配置文件并使用一种确认链接关系的内容类型.Hydra扩展的JSON-LD似乎符合这些要求,我想在我的新API设计中使用它们.

我目前遇到性能问题.假设我有一个在线自行车商店,我想要检索有关给定自行车车轮的信息.

根据Hydra规范,在我看来,我需要发送2个请求来获取有关车轮的详细信息.第一个要求是自行车本身:

GET /mybike HTTP/1.1
Host: wowbike.com
Run Code Online (Sandbox Code Playgroud)

响应包含一个Hydra :: Link到轮子集合:

HTTP/1.1 200 OK
Content-Type: application/ld+json
{
  "@context" :
               {
                   "Bike": "/contexts/vocab#Bike"
               },
  "@id"      : "/mybike",
  "@type"    : "Bike",
  "size"     : "L",
  "wheels"   : "/mybike/wheels" // "wheels" is a "hydra:Link"
}
Run Code Online (Sandbox Code Playgroud)

现在我可以向wheel资源发送第二个请求以获取详细信息:

GET /mybike/wheels HTTP/1.1
Host: wowbike.com

HTTP/1.1 200 OK
Content-Type: application/ld+json
{
    "@context":
               {
                   "Collection": "http://www.w3.org/ns/hydra/core#Collection",
                   "Wheel"     : "/contexts/vocab#Wheel"
               },
    "@type"   : "Collection",
    "@id"     : "/mybike/wheels",
    "member"  :
                [
                 {
                   "@id"   : "/mybike/wheels/firstwheel", …
Run Code Online (Sandbox Code Playgroud)

rest http hypermedia json-ld hydra-core

2
推荐指数
1
解决办法
813
查看次数

标签 统计

http ×1

hydra-core ×1

hypermedia ×1

json-ld ×1

rest ×1