paulbunyannet / api
制作 HTTP API 调用的快捷方式
1.5.1
2017-06-29 16:34 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- fzaninotto/faker: ^1.5
- mockery/mockery: ^0.9.5
- phpunit/phpunit: ^4.8
- satooshi/php-coveralls: ^1.0
README
paulbunyannet/api 通过 json 端点进行 http 调用的快捷方式
安装
此项目可以通过 [Composer] 安装
$ composer require paulbunyannet/api:^1.0
请求方法
GET
$getArgs = ['something' => ,'something_else']; $get = new Get('https://pathtoapi.com/get/?'.http_build_query($getArgs)); $retrieve = $get->retrieve(); var_dump($retrieve); // { "some_response_key" => "some_response_value" }
$getArgs = ['something' => ,'something_else']; $get = new Get('https://pathtoapi.com/get/?'.http_build_query($getArgs)); $retrieve = $get->retrieve(); var_dump($retrieve); // { "some_response_key" => "some_response_value" }
POST
$postArgs = ['something' => ,'something_else']; $post = new Post('https://pathtoapi.com/post'); $retrieve = $post->retrieve($postArgs); var_dump($retrieve); // { "some_response_key" => "some_response_value" }
PUT
$postArgs = ['something' => ,'something_else']; $put = new Put('https://pathtoapi.com/put'); $retrieve = $put->retrieve($postArgs); var_dump($retrieve); // { "some_response_key" => "some_response_value" }
DELETE
$delete = new Put('https://pathtoapi.com/delete/user/1'); $retrieve = $delete->retrieve(); var_dump($retrieve); // { "success" => "true" }
头部
可以将头部数组传递给一个新对象
$getArgs = ['something' => ,'something_else']; $get = new Get('https://pathtoapi.com/get/?'.http_build_query($getArgs)); // headers to pass with request $get->setHeaders(['headerKey' => 'headerValue']); $retrieve = $get->retrieve(); var_dump($retrieve); // { "some_response_key" => "some_response_value" }
然后,带有 "headerKey: headerValue" 的头部将通过 REST 请求传递
认证
每种请求方法都可以使用有效载荷认证,然后在接收端检查该有效载荷
// on the sender side: $postArgs = ['something' => ,'something_else']; $identity = 'my-user-name'; // used for looking up private key on the receiving side $privateKey = "my-super-secret-key"; $post = new Post('https://pathtoapi.com/post'); $post->setPayload([Auth\AuthBootstrap::IDENTITY => $identity, Auth\AuthBootstrap::PRIVATEKEY => $privateKey]); $retrieve = $post->retrieve($postArgs); // then on the receiving side: $lookUpPrivateKey = 'my-super-secret-key'; // this is where you would do a lookup for user's private key by the ideney key that was sent with the request $receiver = new Auth\Receive($_POST['payload'], $lookUpPrivateKey); $verifyHash = receiver->verifyHash($_POST); // will return true if payload hash sent is correct