beyerz / api-adapter-bundle
Symfony 扩展包,用作 API 连接器和适配器,适用于第三方 API
1.2.2
2018-10-15 14:59 UTC
Requires
- php: >=7.0
- besimple/soap: 0.2.6
- csa/guzzle-bundle: ^2.0|^3.0
- jms/serializer-bundle: ^1.0.0|^2.0.0
- symfony/symfony: 2.8.*
Requires (Dev)
README
关于
Symfony2 的 API 适配器扩展包
此扩展包为连接第三方 API 提供网关和适配器模式。
使用 JMSSerializer,您只需提供要填充 API 响应的数据类即可。
安装
Composer(推荐)
composer require beyerz/api-adapter-bundle
应用程序内核
将 BeyerzApiAdapterBundle 添加到应用程序内核的 registerBundles()
方法中:由于此扩展包的编译方式和事实,请确保扩展包是数组中的最后一个参数。
public function registerBundles() { return array( new Beyerz\ApiAdapterBundle\BeyerzApiAdapterBundle(), ); }
使用方法
配置
config.yml
beyerz_api_adapter: json: my_client: #name of your client to be used, this will be accessable through container as beyerz_api_adapter.client.YOUR_CUSTOM_NAME base_url: "first_base_url" options: - "an option" - "another option"
文件及其用途
### 管理器 在管理器中,您可以编写与 API 相关的任何业务逻辑,但不是直接连接到 API。例如,如果您想保存 API 返回的每个响应的副本,您可以在这里完成。
管理器是系统中唯一应该与之交互以与 API 交互的类。
管理器应在构造函数中具有网关
### 适配器 适配器的任务是将 API 响应转换为 PHP 类。您根据 API 响应类型选择适配器。对于 REST API,最常见的是使用 JsonAdapter。
### 网关 我们提供基类网关,但建议您从我们的基类扩展,并添加您打算使用的 API 功能。
### 响应实体 响应实体是一个数据类,使用 JMSSeriliazer 定义来转换 API 响应。这是将从管理器传递给网关请求的类。
如果没有传递类,则将原始响应返回给管理器。有时在构建 API 时这很有用。
#TODO #添加如何工作的示例