trivago / jade
一个简单但功能强大的库,用于通过 JSON API 公开实体。
v1.1
2018-07-30 13:55 UTC
Requires
- doctrine/doctrine-bundle: ^1.6
- doctrine/orm: ^2.5
- neomerx/json-api: ^1.0
- symfony/symfony: ^3.0
Requires (Dev)
- codeception/codeception: ^2.3
- fzaninotto/faker: ^1.7
- php-di/phpdoc-reader: ^2.0
- phpspec/prophecy: ^1.7
- phpunit/phpunit: ^5.7
This package is not auto-updated.
Last update: 2024-09-29 02:49:48 UTC
README
这是什么?
Jade 是一个库,旨在通过 doctrine 实体创建一个简单的方式来创建 JSON API 服务器。它支持所有 CRUD 功能,如过滤、排序和包括关系。您只需定义实体,然后使用配置公开不同的路由。
它的设计使您能够轻松地定制所需的任何部分。
另一个库?
在开始开发这个库之前,我们研究过其他可用的库,甚至考虑过为它们做出贡献。但问题是,根据我们的需求定制这些库很复杂,有时甚至需要太多的努力才能设置它们。在 Jade 的情况下,您可以在 5 分钟内运行一个完全功能的 API。
入门
您可以在 docs/example.md 中找到一个快速入门示例。
首先安装库
composer require trivago/jade
然后向内核添加捆绑包
<?php public function registerBundles() { $bundles = [ ... new Trivago\Jade\Application\Framework\JadeBundle\TrivagoJadeBundle(), ... ]; }
然后添加路由
json_api_routes: prefix: /api resource: . type: json_api
然后您必须设置配置。
配置
示例配置
实体
加载路由
过滤
排序
包括
监听器
示例调用
安全担忧
测试
缺失的功能
- 允许选择要包含的字段。
- 验证请求中的额外键是否有效。
- 创建关系 URL。
- 对于字符串路径的工作效果良好。对于数组路径,找到一个新过滤器类型名称。
- [改进] 使用 ResourceMapper 避免在未渲染的列上进行过滤或排序 [安全]