php - 用于 RESTful-API 中动态 DQL 的 Symfony2-Bundle

标签 php rest symfony doctrine-orm dql

我用原则 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/

相关文章:

rest - 使用 PHPStorm 或 POSTman 的 XDebug 和 RESTful 服务器

php - 如何在 `collection` 字段 Symfony 2.1 中将选项传递给 CustomType?

javascript - 如何在PHP中搜索关键字?

c# - 将 POST FromBody 转换为 HttpRequestMessage - 需要对请求正文进行反序列化

php - 网格中的 Magento getCollection() 返回 false

rest - 如果我在Groovy&Grails中创建一个简单的 Controller 并将其用作Rest API Controller ,然后再扩展RestFulController,该怎么办?

symfony - 努力使用composer来安装mink和behat与symfony2一起使用

php - Symfony2 分配上传文件到内存

php - mysqli::准备 SQL 错误

php - 在 PHP 中,发生 String offset cast 的正确解决方案