jschaedl / api-client
一个通用的API客户端实现,避免反复编写相同的样板代码。
Requires
- php: ~8.2||~8.3
- psr/http-client: ^1
- psr/http-factory: ^1
- webmozart/assert: ^1
Requires (Dev)
- azjezz/psl: ^2.9
- brianium/paratest: ^6.11
- friendsofphp/php-cs-fixer: ^3.49.0
- guzzlehttp/guzzle: ^7.8.1
- guzzlehttp/psr7: ^2.6.2
- nyholm/psr7: ^1.8.1
- phpstan/phpstan: ^1.10.58
- phpstan/phpstan-phpunit: ^1.3.15
- phpunit/phpunit: ^9.6.16
- rector/rector: ^0.14.8
- spatie/phpunit-snapshot-assertions: ^4.2.16
- symfony/http-client: ^6.4.3
- symplify/phpstan-rules: ^11.4.1.72
- tomasvotruba/cognitive-complexity: ^0.0.1
- tomasvotruba/type-coverage: ^0.0.1
Provides
README
你是否厌倦了花费无数小时编写重复的样板代码来创建API客户端?告别麻烦,欢迎使用 jschaedl/api-client
,这个库将帮助你轻松构建强大的API客户端。它提供了一个简单而强大的类库,让构建API客户端再次变得有趣。
主要优点
更快的发展:借助 jschaedl/api-client
,你可以利用提供的类在几分钟内创建API客户端。不再浪费时间在繁琐的任务上!
通用性: jschaedl/api-client
支持广泛的API,使其成为各种项目的通用解决方案。无论是RESTful、SOAP还是GraphQL API,它都能满足你的需求。
定制化:轻松定制API客户端以满足你的特定需求。jschaedl/api-client
提供了一个灵活的框架,允许开发者轻松定制请求、响应和错误处理。
标准: jschaedl/api-client
遵循 PSR-7(HTTP消息接口)、PSR-17(HTTP分解接口)和 PSR-18(HTTP客户端接口)以确保与行业标准实践兼容和互操作。
何时应使用此库?
没有现有SDK: 当没有可用的SDK来消费API时,并且你需要从头开始实现API客户端时,jschaedl/api-client
是你的首选解决方案。
选择性端点调用: 在有SDK的API但你只需要特定的端点而不想处理整个庞大的SDK的开销的情况下,jschaedl/api-client
介入。
避免第三方SDK依赖: 对集成带来一系列依赖的第三方SDK感到厌倦?选择 jschaedl/api-client
来避免麻烦。
安装
要使用 composer 安装 jschaedl/api-client
,请使用
composer require jschaedl/api-client
示例
...
特性
客户端
通用请求和响应
请求和响应处理器
请求/响应体编码/解码器
自定义请求和响应
RetryClient
使用模拟进行测试
常见问题解答
我如何向请求添加自定义头信息?
...
我如何将认证信息与请求一起发送?
...
我如何在测试中使用客户端?
...
作者
如何贡献
请阅读我们的 贡献指南。
许可证
MIT许可证