czembor / rest-api-universal-client
通用REST API客户端
0.1
2020-10-02 05:01 UTC
Requires
- php: >=7.4
- ext-curl: *
- ext-json: *
- nyholm/psr7: ^1.3.1
- psr/http-client: ^1.0
Requires (Dev)
- phpstan/phpstan: ^0.12.45
- phpunit/phpunit: ^9.3.11
This package is auto-updated.
Last update: 2024-09-29 05:22:30 UTC
README
使用示例可在此找到: https://bitbucket.org/szymon-czembor/rauc-example/
此库提供了一些用于消费REST API的类。主要类是ApiClient,它具有发送HTTP请求和获取响应的多个方法。
创建API客户端实例
ApiClient有一些依赖项。为了简化创建此类实例的过程,库提供了一个具有静态方法的工厂类。
$apiClient = \Rauc\ApiClientFactory::create();
设置API基本URL
为了消费REST API,请设置其基本URL
$apiClient->setBaseUrl('https://example.com');
发送请求
API客户端支持以下HTTP方法:GET、POST、PUT、PATCH、DELETE、OPTIONS、HEAD。每个动词在ApiClient类中都有一个对应的方法。例如,要发送GET请求,请使用get方法
$response = $apiClient->get('/posts/1');
响应
ApiClient类的请求方法返回符合PSR-7的响应。
异常
如果出现问题,方法可以抛出ApiClientException。
身份验证
库提供了两种身份验证方法
- 基本身份验证
- JWT
访问需要基本身份验证的资源示例
$basicAuthentication = new \Rauc\Authentication\BasicAuthentication();
$basicAuthentication->setUsername('username')
->setPassword('password');
$apiClient->setAuthMethod($basic);
$response = $apiClient->get('/posts/1');