【发布时间】:2017-04-28 19:00:39
【问题描述】:
我有一个可以在 somebaseurl/myresource/id123 下访问的资源 该资源当然有一些属性,一些到其他资源的链接,但它也有一些支持的操作。 到目前为止,一切都很好。 只要这些操作对应于在 somebaseurl/myresource/id123 的资源的 url 上执行的 http 动词,一切正常。 但是,如果我定义了一些特殊操作,可以通过在 somebaseurl/myresource/id123/somespecialaction 上发布 POST 来访问? 我如何在资源中表示这一点? JSON-LD+Hydra 不支持操作,hydra 支持操作,但我无法为资源中的操作指定“端点”或“URL”属性。 所以我仅限于 somebaseurl/myresource/id123 可访问的操作(所有 HTTP 动词,仅此而已) 如何在资源表示中保留这些边界?
{
"@context":"https://contexts.dictionary.mycompany-group.com/person.jsonld",
"@id":"https://myapi.mycompany.com/persons/BE14A7269802498F992813885546D058",
"@type":"https://schema.org/Person",
"name": "Mustermann",
"operation"
: [
{"@type": "DeleteResourceOperation","method": "DELETE"},
{"@type": "ReplaceResourceOperation","method": "PUT"}
],
// now how would one specify this with JSON-LD augmented by HYDRA?
{"@type": "some_special_operation","method": "POST", URL:"https://myapi.mycompany.com/persons/BE14A7269802498F992813885546D058/some_special_operation"}
}
【问题讨论】:
标签: rest json-ld hydra-core