灵析 Api 通用 Client,基于 guzzlehttp/guzzle 实现
composer.json 中添加
composer require lingxi/api-client
- 灵析 api 接口自动验证
- 支持接口参数自动替换。类似 Laravel 的路由参数替换。请求 uri 中 {user_id} 会被 $query['user_id'] 的值替换
全部参数都可以使用 Setter 方法设置。即不需要再实例化的时候传递参数。
$apiOptions = [
'base_uri' => 'http://api.lingxi360.com',
'api_key' => 'api_key',
'api_secret' => 'api_secret',
];
$apiClient = new ApiClient($apiOptions);
选项 | 说明 | 默认值 |
---|---|---|
base_uri |
base_uri |
Empty String |
time_out |
请求超时时间 | 5.0 |
api_key |
api_key |
Empty String |
api_secret |
api_secret |
Empty String |
api_version |
Api 版本 | 'v1' |
$apiClient = new ApiClient();
$apiClient->setBaseUri($apiOptions['base_uri'])
->setApiVersion($apiOptions['api_version'])
->setConsumer($apiOptions['api_key'], $apiOptions['api_secret'])
->setApiType($apiOptions['api_type'])
->setOutTime($apiOptions['time_out']);
// 获取 http 请求对象,返回 GuzzleHttp\Psr7\Request 实例
$apiClient->get($uri, $query)->getRequest();
// 获取请求的数据
$apiClient->get($uri, $query)->getRequestData();
// 获取 Http 响应对象。返回 GuzzleHttp\Psr7\Response 的实例
$apiClient->get($uri, $query)->getResponse();
// post 操作
$apiClient->post($uri, $data)->getResponse();
// put 操作
$apiClient->put($uri, $data)->getResponse();
// delete 操作
$apiClient->delete($uri, $data)->getResponse();
// patch 操作
$apiClient->patch($uri, $data)->getResponse();
// 发起一个请求。$method 为 HTTP 请求动词
$apiClient->request($method, $uri, $data)->getResponse();
// 获取 api 返回的数据
$apiClient->get($uri, $query)->getResponseData();
// 获取 Http 响应码
$apiClient->get($uri, $query)->getResponseCode();
// 获取最后一次请求的 URL
$apiClient->getLastUrl();
// 获取请求传输时间
$apiClient->getTransferTime();
$apiClient->getBaseUri();
$apiClient->getApiVersion();
$apiClient->getOutTime();
$apiClient->getApiKey();
$apiClient->getApiSecret();
$apiClient->setBaseUri();
$apiClient->setBaseUri();
$apiClient->setApiVersion();
$apiClient->setOutTime();
MIT