ideasoft / batch-request-client
PHP的批量请求客户端实现。
0.1.1
2016-12-21 11:03 UTC
Requires
- guzzlehttp/guzzle: ^6.2
Requires (Dev)
- phpunit/phpunit: ^4.8
This package is not auto-updated.
Last update: 2024-09-28 19:20:42 UTC
README
http-batch-client 允许将多个HTTP请求合并成一个批量请求。这个工具特别适用于减少API端点的HTTP请求。
关于multipart/batch
Http multipart/batch是一种格式,可以将多个HTTP请求打包成一个请求。您可以阅读以下草稿了解更多信息:https://tools.ietf.org/id/draft-snell-http-batch-00.html
安装http-batch-client
通过composer安装http-batch-client是最简单的方法。
composer require ideasoft/batch-request-client
重要提示
这是一个客户端实现。您的API服务应支持批量请求。如果您使用Symfony 2.8+,可以使用https://github.com/IdeasoftLabs/http-batch-bundle进行服务器实现。
如何使用http-batch-client
您可以创建一个批量请求客户端,将请求发送到批量端点,并通过客户端使用它。
<?php $client = new \BatchRequest\Client\Client(); $headers = [ "Authorization" => "Bearer TOKEN" ]; $requests = [ "users" => new \GuzzleHttp\Psr7\Request("GET", "http://your-api-url/users", ["Authorization" => "Bearer TOKEN"]), "orders" => new \GuzzleHttp\Psr7\Request("GET", "http://your-api-url/orders", ["Authorization" => "Bearer TOKEN"]) ]; $data = $client->send("http://your-api-url/batch", $headers, $requests); if ($data->getSubResponses()["users"]->getStatusCode()) { //sub request success for users }