我用原则 2 在 symfony2 中构建了一个简单的 API(这里有一点帮助: http://williamdurand.fr/2012/08/02/rest-apis-with-symfony2-the-right-way/ )。一切正常。 GET(全部/一个)、PUT、POST 或 DELETE 都可以,但我可以获取所有资源,也可以仅获取具有特定 ID 的资源。
但我想要这样的东西:
GET/api/stuff?filter={
[
{
“字段”:“字段名称”,
“运算符”:“eq”,
“值”:“富”
},
{
...
}
]
}
然后调用getByFilter($filter)
来构建通用DQL。
我非常清楚如何做到这一点(我做了类似的事情,没有 symfony),但我不想重新发明轮子。
有没有任何 bundle 或最佳实践?
最佳答案
据我所知,没有提供通用过滤功能的 bundle 。您在这里描述的内容看起来有点像 OData filter system queries ,而且我从未找到实现此类规范的 bundle 。
但是,FOSRestBundle提供ParamFetcher feature ,允许您配置您可能期望的查询参数,以及默认值和基本验证约束。这是开发 API 的“过滤部分”时需要考虑的事情。
关于php - 用于 RESTful-API 中动态 DQL 的 Symfony2-Bundle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21053175/