如何在 Hydra:Operation 中的 IRItemplate 中执行任一操作



我的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",
      ...
    }
  }

相关内容

  • 没有找到相关文章

最新更新