hidayat / restclient
一个用于处理Laravel中REST API请求的包,此包提供了PHP cURL API的接口
Requires
- php: >=5.4.0
This package is auto-updated.
Last update: 2024-09-29 05:36:03 UTC
README
此包提供从Laravel调用REST API的功能
composer require hidayat/restclient
使用方法
将包提供的门面类包含到你的类中,如下所示
use hidayat\restclient\Facade\Client;$url = "http://some-site.com";
//无额外参数的简单GET请求
$response = Client::call($url);
dd($response)
//带有查询参数和头部的GET请求
$data = ['field1' => 'value1', 'field2' => 'value2'];
$headers = ['Authorization: Basic ' . $token, 'accept: application/json'];
$response = Client::setGetData($data) ->setHeaders($headers) ->call($url);
注意:所有方法都是可链式的,除了设置任何额外参数时的call()方法,此时call()方法应在最后调用
//使用POST方法和POST数据的示例$headers = ['content-type: application/x-www-form-urlencoded', Authorization: Basic ' . $token, 'accept: application/json'];
$postData = "field1=somevalue&field2=somefield2";
注意:发送POST数据时,无需显式设置方法为POST,因为它将自动设置。当发送没有数据的POST请求时,必须设置方法为POST
$response = Client::setPostData($postData) ->setMethod('post') ->setHeaders($headers) ->call($url);//PUT方法示例
$response = Client::setPostData($postData) ->setMethod('put') ->setHeaders($headers) ->call($url);
//对于需要BasicHttpAuth的URL,可以使用setHttpBasicAuthData方法
$basicAuthCred = ['username' => 'abc', 'password' => 'bdjdjdjd']
$response = Client::setHeaders($headers) ->setHttpBasicAuthData($basicAuthCred) ->call($url);
由于此包是PHP cURL Api的接口,你可以通过传递数组到setOptions方法来设置任何cURL选项。你必须提供以下格式的Option键值对
$response = Client::setOptions([ CURLOPT_SSL_VERIFYPEER => false, CURLOPT_TIMEOUT => 60 ]) ->call($url);