graphlr / prepr-api-laravel
v1.7.0
2021-02-17 08:24 UTC
Requires
- php: >=5.6.4
- guzzlehttp/guzzle: ^7.0.1
- lastguest/murmurhash: ^2.0.0
README
此 Laravel 包是 Prepr API 的封装器。
兼容 Laravel v5x, v6x, v7x, v8x。
安装
您可以通过 composer 安装此包
composer require graphlr/prepr-api-laravel
环境变量
PREPR_URL=https://api.eu1.prepr.io/
PREPR_TOKEN=ToKeN
PREPR_CACHE=true
PREPR_CACHE_TIME=1800
覆盖变量
对于所有请求
config(['prepr.url' => 'https://api.eu1.prepr.io/']); config(['prepr.token' => 'ToKeN']);
您还可以为特定请求设置授权 ->url('url')->authorization('token')。
示例
use Graphlr\Prepr\Prepr;
获取所有
$apiRequest = (new Prepr) ->path('tags') ->query([ 'fields' => 'example' ]) ->get(); if($apiRequest->getStatusCode() == 200) { dump($apiRequest->getResponse()); }
获取单个
$apiRequest = (new Prepr) ->path('tags/{id}',[ 'id' => 1 ]), ->query([ 'fields' => 'example' ]) ->get(); if($apiRequest->getStatusCode() == 200) { dump($apiRequest->getResponse()); }
发布
$apiRequest = (new Prepr) ->path('tags') ->params([ 'body' => 'Example' ]) ->post(); if($apiRequest->getStatusCode() == 201) { dump($apiRequest->getResponse()); }
更新
$apiRequest = (new Prepr) ->path('tags') ->params([ 'body' => 'Example' ]) ->put(); if($apiRequest->getStatusCode() == 200) { dump($apiRequest->getResponse()); }
删除
$apiRequest = (new Prepr) ->path('tags/{id}',[ 'id' => 1 ]) ->delete(); if($apiRequest->getStatusCode() == 204) { // Deleted. }
A/B 测试
$apiRequest = (new Prepr) ->path('tags/{id}',[ 'id' => 1 ]), ->query([ 'fields' => 'example' ]) ->userId(session()->getId()) ->get(); if($apiRequest->getStatusCode() == 200) { dump($apiRequest->getResponse()); }
分块上传
$apiRequest = (new Prepr) ->path('assets') ->params([ 'body' => 'Example', ]) ->file('/path/to/file.txt') // For laravel storage: storage_path('app/file.ext') ->post(); if($apiRequest->getStatusCode() == 200) { dump($apiRequest->getResponse()); }
自动分页
$apiRequest = (new Prepr) ->path('publications') ->query([ 'limit' => 200 // optional ]) ->autoPaging(); if($apiRequest->getStatusCode() == 200) { dump($apiRequest->getResponse()); }
调试
调试时,您可以使用 getRawResponse()