pramod / php-api-consumer
用于消费外部URL的Php Api Consumer
v0.05
2021-10-23 15:18 UTC
Requires
- php: ^7.4
- guzzlehttp/guzzle: ^7.4
Requires (Dev)
- phpunit/phpunit: ~4.5
README
本包开发用于请求各种外部API,而无需创建外部服务或特性。
安装
您可以通过composer安装此包
composer require pramod/php-api-consumer
用法
请参阅位于tests/ExampleTest.php的测试用例以获取完整参考。
基本语法
Service::consume('fttx-api') ->via('customer/pramodk_home') ->with([ 'headers'=>[ 'Authorization'=>'xx', 'Content-Type'=>'', 'Accept'=>'' ], 'method'=>'POST', 'version'=>'v1', 'payload'=>[ 'name'=>'name is here' ] ]) ->attach('status_code') ->toArray();
调用您的 Graphql API (下一版本)
- 在 <<config/api-consumer.php>> 中添加您的服务设置
<?php return [ 'default'=>[ 'timeout'=>10, 'ssl_verification'=>true, 'method'=>"GET" ], 'consumer' => [ 'graphqlTest'=>[ 'baseUri'=>'https://countries.trevorblades.com/', 'timeout'=>60, // 'ssl_verification'=>false //my default its true ] ] ];
- 在您的请求类中添加您的端点
- 如果 graphQl key 在 with 中,自动设置 Accept 和 Content-Type 头为 application/json
- 方法设置为 POST
- 需要在 query 键中传递您的 graphql 查询
- 默认情况下,它调用 toJson()
return Api::consume('graphqlTest') ->via('fcm/graphql') ->with([ 'graphQl'=>[ 'query'=>'query{ continents{ code name countries{ code name native } } }' ] ])
所有公共graphql Api的测试列表
https://github.com/APIs-guru/graphql-apis
描述
-
consume
请求或查找在配置文件中映射的服务名称,该文件具有基本应用程序URL和版本定义。它有两个有效负载。
consume($apiHostname, $hosturl)
默认主机URL将是 .wlink.com.np
-
via
此方法用于指向服务端或服务命名空间中编写的函数名称
- 可用方法
- 第一个参数: Api端点或uri
- 第二个参数: 如果第二个参数是 true,则第一个参数必须是您在服务文件夹的类中定义的方法名称
- 可用方法
-
with
包含所有参数,包括头、有效负载、查询字符串和方法名称
-
转换方法 [默认情况下,它调用 toJson() 方法]
- toArray
- toJson
- toCollection
-
ssl方法
- 可以是true或false,默认为 True
-
timeout方法
- 您可以传递第二个值,默认为 30秒
-
retry方法
- 传递整数值以重试外部API,默认不重试。
测试
composer test
变更日志
请参阅 CHANGELOG 以获取有关最近更改的更多信息。
贡献
请参阅 CONTRIBUTING 以获取详细信息。
安全
如果您发现任何安全相关的问题,请通过电子邮件 pramodktwl@gmail.com 通知,而不是使用问题跟踪器。
致谢
许可
MIT许可 (MIT)。有关更多信息,请参阅 许可文件。
快乐的编码 :)
测试
php vendor/phpunit/phpunit/phpunit