我设法安装Apigility + Doctrine并返回单个实体(/ service / x_id)和集合(/ service)的结果,这个开箱即用,没有任何修改。
我现在处于基于URL参数返回过滤结果的阶段。
我可以检索url参数,我可以检索过滤结果。为此,我在自己的ResourceClass中扩展了fetch *()方法。它工作正常,但是这个结果没有分页,也没有与其他响应(开箱即用的响应)相同的HAL / Json格式。我将返回getEntityManager('my.em.name')->getRepository(my.repo.name)->findBy($params)
的结果,它实际上看起来像这样:
{
"_links":
{
"self":
{
"href": "http://api.local/service?startcode=7531"
}
},
"_embedded":
{
"objektprojectstart":
[
{
"oid": 14427,
"opsId": 3760,
"startcode": "7531",
"tid": 44798,
"_links":
{
"self":
{
"href": "http://studoraapi.local/service/3760"
}
}
},
{... more},
这个问题的正确解决方案是什么?谢谢!
答案 0 :(得分:0)
如果您希望使用分页回复,则必须确保从Paginator
方法返回Zend fetch
个实例。
在Apigility文档 here 中,内容如下:
扩展
Zend\Paginator\Paginator
的Collection类,它允许您提供分页结果集。