carsdotcom/php-request-class

将Guzzle API请求的逻辑结构化到面向对象的类中

v1.2.1 2024-08-20 19:10 UTC

README

将Guzzle API请求的逻辑结构化到面向对象的类中

是什么?

我们维护一个依赖于数十个REST API的应用程序,其中大部分没有SDK。

我们非常喜欢Guzzle!但大部分文档都假设发送请求是“简单”的,只需要几行代码。

但我们在实际使用中发现,围绕Guzzle请求的结构可能会达到数百行,管理诸如认证、在我们内部类型和合作伙伴类型之间转换数据等前置条件。

因此,我们创建了AbstractRequest作为一个标准化的方式来

  1. 将逻辑组织到类中。
  2. 提供可交换的编码和解码特性(XML、JSON、表单,甚至是简化的GraphQL!)
  3. 使用Laravel的文件外观记录所有内容
  4. 使用Laravel的缓存外观进行缓存(带有简单的自动缓存键生成器)
  5. 提供链式前置条件的结构(如认证)
  6. 提供捕获异常并将响应解析回内部逻辑的结构
  7. 允许您将关于调用顺序或同步/异步处理的决策推迟到请求类的用户

运行测试

安装开发依赖项

composer install

然后在项目的根目录下运行phpunit

./vendor/bin/phpunit