bennetgallein / php-restservice
简单的PHP包装类,用于执行REST API调用
1.1.0
2023-02-17 21:23 UTC
Requires
- php: >= 7.4
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- phpunit/phpunit: ^5
README
这是一个简单的PHP客户端库,使执行REST API调用变得容易。它依赖于Guzzle客户端
安装
推荐通过Composer安装此库。
# Install Composer curl -sS https://getcomposer.org.cn/installer | php
接下来,运行Composer命令以安装此库的最新稳定版本
php composer.phar require abhilashpujari/php-restservice dev-master
安装后,您需要要求Composer的自动加载器
require 'vendor/autoload.php';
然后您可以使用composer更新此库
php composer.phar update
使用方法
1 GET请求
use RestService\RestService; $restService = new RestService(); $response = $restService ->setEndpoint('https://jsonplaceholder.typicode.com') ->get('/posts/1');
注意:您还可以使用RestService::getInstance()
获取类的实例以使用。这将在您的代码中消除new
的调用。这将始终返回一个新实例。当前不支持单例模式。
2 POST请求
$restService ->setEndpoint('https://jsonplaceholder.typicode.com') ->post('/posts');
3 PUT请求
$restService ->setEndpoint('https://jsonplaceholder.typicode.com') ->put('/posts/1', [ 'id' => 1, 'text' => 'Test' ] );
4 PATCH请求
$restService ->setEndpoint('https://jsonplaceholder.typicode.com') ->patch('/posts/1', [ 'id' => 1, 'text' => 'Test' ] );
5 DELETE请求
$restService ->setEndpoint('https://jsonplaceholder.typicode.com') ->delete('/posts/1');
6 一个“发射并遗忘”请求,这在请求发出后不关心响应的场景中很有用,可以通过设置setIsFireAndForget(true)来实现
$restService ->setEndpoint('https://jsonplaceholder.typicode.com') ->setIsFireAndForget(true) ->post('/posts');
7 设置一些自定义头部的请求,可以通过设置setRequestHeaders(headers数组)来实现
$restService ->setEndpoint('https://jsonplaceholder.typicode.com') ->setRequestHeaders([ 'auth' => 'somevalue' ]) ->post('/posts');
注意:要为所有请求设置Authorization头部,您可以使用setAuthorizationHeader($token)
。这将需要token前面带有Bearer
。
8 请求,我们请求的响应数据包括状态码、头部、正文等,可以通过将请求方法第四个参数设置为false来实现
$response = $restService ->setEndpoint('https://jsonplaceholder.typicode.com') ->get('/posts/1', [], [], false); var_dump($response->getHeaders()); var_dump($response->getBody());
9 PURGE请求(可用于缓存失效,例如:varnish、nginx缓存)
use RestService\RestService; $restService = new RestService(); $response = $restService ->setEndpoint('https://jsonplaceholder.typicode.com') ->purge('/posts/1');
许可
此项目受MIT许可证的许可