我的hydra词汇类似于Markus-lanthaler词汇表。
{
"@id": "payu:retrieve_users",
"@type": "hydra:Operation",
"method": "GET",
"label": "Retrieve users",
"description": "Retrieves Users",
"expects": null,
"returns": "hydra:Collection",
"IriTemplate" : {
"@type" : "IriTemplate",
"template" : "{?userIds,firstName,lastName}",
"variableRepresentation": "BasicRepresentation",
"mapping" : [
{
"@type" : "IriTemplateMapping",
"variable" : "userIds",
"property" : "hydra:property",
"required" : false
},
{
"@type" : "IriTemplateMapping",
"variable" : "firstName",
"property" : "hydra:property",
"required" : false
},
{
"@type" : "IriTemplateMapping",
"variable" : "lastName",
"property" : "hydra:property",
"required" : false
}
]
}
}
正如您在 IRI模板中看到的
"template" : "{?userIds,firstName,lastName}"
所以我想控制检索,无论是第三人能够通过(userIds(还是(名字,姓氏(进行检索。
我应该使用IRI模板进行两个单独的水龙操作吗:
在第一次操作中:
"template" : "{?userIds}"
在第二次操作中:
"template" : "{?firstName,lastName}"
或者是否有任何现有方法可以使用单个操作在 Hydra 规范中执行此操作?
目前无法为单个操作指定该值。您需要执行两个操作。此外,您需要将操作关联到 IriTemplate,而不是相反:
{
"@type" : "IriTemplate",
"template" : "{?userIds,firstName,lastName}",
...
"operation": {
"@id": "payu:retrieve_users",
"@type": "hydra:Operation",
"method": "GET",
...
}
}