hidayat/restclient

一个用于处理Laravel中REST API请求的包,此包提供了PHP cURL API的接口

dev-master 2022-08-30 16:29 UTC

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);