ideasoft/batch-request-client

PHP的批量请求客户端实现。

0.1.1 2016-12-21 11:03 UTC

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 
}