pramod/php-api-consumer

用于消费外部URL的Php Api Consumer

v0.05 2021-10-23 15:18 UTC

This package is auto-updated.

Last update: 2024-09-22 11:07:34 UTC


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 (下一版本)

  1. 在 <<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
        ]
    ]
];
  1. 在您的请求类中添加您的端点
    • 如果 graphQl key 在 with 中,自动设置 AcceptContent-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

描述

  1. consume

    请求或查找在配置文件中映射的服务名称,该文件具有基本应用程序URL和版本定义。它有两个有效负载。

     consume($apiHostname, $hosturl)
    

    默认主机URL将是 .wlink.com.np

  2. via

    此方法用于指向服务端或服务命名空间中编写的函数名称

    • 可用方法
      • 第一个参数: Api端点或uri
      • 第二个参数: 如果第二个参数是 true,则第一个参数必须是您在服务文件夹的类中定义的方法名称
  3. with

    包含所有参数,包括头、有效负载、查询字符串和方法名称

  4. 转换方法 [默认情况下,它调用 toJson() 方法]

    • toArray
    • toJson
    • toCollection
  5. ssl方法

    • 可以是true或false,默认为 True
  6. timeout方法

    • 您可以传递第二个值,默认为 30秒
  7. retry方法

    • 传递整数值以重试外部API,默认不重试。

测试

composer test

变更日志

请参阅 CHANGELOG 以获取有关最近更改的更多信息。

贡献

请参阅 CONTRIBUTING 以获取详细信息。

安全

如果您发现任何安全相关的问题,请通过电子邮件 pramodktwl@gmail.com 通知,而不是使用问题跟踪器。

致谢

许可

MIT许可 (MIT)。有关更多信息,请参阅 许可文件

快乐的编码 :)

测试

php vendor/phpunit/phpunit/phpunit