jamiecressey / restful-client
通用的RESTful API客户端
0.9.0
2015-10-15 07:37 UTC
Requires
- php: >=5.4.0
- guzzlehttp/guzzle: ~5.0
Requires (Dev)
- phpunit/phpunit: >= 4.8
This package is not auto-updated.
Last update: 2024-09-28 17:54:44 UTC
README
通用的RESTful PHP客户端
一个用于与JSON API交互的通用RESTful PHP客户端。
用法
要使用此客户端,您只需导入ApiClient并使用API密钥、密钥和URL端点进行初始化
$api = new RestfulClient\ApiClient('#your_api_key', '#your_api_secret', '#your_api_endpoint');
现在您已经拥有了一个RESTful API对象,您可以开始发送请求。
请求认证
所有请求默认包含以下头部
- 'X-Authentication-Key' - 创建ApiClient对象时提供的API密钥。
- 'X-Authentication-Nonce' - 一个递增数字,用于防止请求重放。默认情况下,这是当前纪元的毫秒数。
- 'X-Authentication-Signature' - 使用创建ApiClient对象时提供的API密钥对nonce进行SHA512 HMAC签名。
发送请求
该框架支持GET、PUT、POST和DELETE请求
$api->get('/books/');
$api->post('/books/', array('title' => 'Twilight', 'author' => 'Stephenie Meyer'));
$api->put('/book/Twilight/', array('release_date' => '06/09/2006'));
$api->delete('/book/Twilight/');
验证请求
内置了两个助手来验证请求的成功。 ok()
检查20x状态码并返回布尔值,errors()
如果状态码不是20x,则返回正文内容作为关联数组
$req = $api->get('/books/');
if( $req->ok() ) {
echo 'Success!';
} else {
echo $req->errors();
}
扩展客户端
客户端可以被扩展以更具体地适用于应用程序,例如$api->create_book('Twilight', 'Stephenie Meyer');
class YourAPI extends \RestfulClient\ApiClient
{
public function __construct($api_key, $api_secret)
{
$api_url = 'https://api.yourdomain.com'
parent::__construct($api_key, $api_secret, $api_url);
}
public function create_book($title, $author)
{
$data = array(
'title' => $title,
'author' => $author,
);
return $this->post('/books/', $data);
}
}
贡献
欢迎所有贡献,无论是新/改进的功能还是对任何开放错误的响应。