Zend Framework 2&;Apigility-将链接插入收藏


Zend Framework 2 & Apigility - insert link into collection

我有一个带有patchList方法的Apigility资源。该方法返回一个集合。我需要在返回的集合上设置一个指向另一个资源的链接。

所以,如果一个集合看起来像这样:

{
  _links: {
    self: '//foo.bar',
  },
  _embedded: {
    foo: []
  }    
}

我希望它是这样的:

{
  _links: {
    self: '//foo.bar',
    bar: '//foo.bar/456'
  },
  _embedded: {
    foo: []
  }    
}

现在,我已经阅读了文档,我看到了如何添加静态链接,但我需要动态设置链接。我想我可以通过收听renderCollection事件来实现这一点,但我想知道是否有更简单的解决方案。

对于单个资源,您也可以使用EntityExtractorLinkCollection添加自定义链接,但对于呈现Collection,则不使用这样的提取器,因此您所能做的就是使用renderCollection事件来动态添加它们,就像您在问题中建议的那样。