rs / builder-api
调用Builder API
v1.0.6
2024-08-22 11:58 UTC
Requires
- php: ^8.0
Requires (Dev)
- guzzlehttp/guzzle: ^7.4
- orchestra/testbench: ^8.0
- phpunit/phpunit: ^10
This package is auto-updated.
Last update: 2024-09-22 13:29:00 UTC
README
用于查询Builder API的Laravel包
安装
您可以通过composer安装此包
composer require rs/builder-api
配置
默认情况下,API客户端将尝试从以下环境变量中查找设置
# .env BUILDER_SITE_NAME=sitename # the name of the site in Builder BUILDER_PUBLISHED=true # whether to query the published or unpublished data of the Builder site (defaults to true if not defined) BUILDER_API_USER=builderuser BUILDER_API_KEY=key-123
或者,您可以发布配置文件并在其中定义您的设置
php artisan vendor:publish --provider="RedSnapper\Builder\BuilderApiServiceProvider" --tag="config"
# config/builder-api.php return [ 'site' => 'sitename', 'published' => true, 'user' => 'builderuser', 'password' => 'key-123', ];
授权
如果您提供了用户名和密码,则将尝试基本认证。
或者,您只需提供用户名 - 这将在请求中添加一个X-USER
头。这仅在您的应用程序与Builder实例位于同一网络上时才有效
使用方法
您可以使用BuilderApi
外观创建一个PendingRequest
。您可以使用该对象上可用的流畅方法覆盖任何配置。
$pendingRequest = BuilderApi::new(); $pendingRequest->forSite('sitename') ->withAuth('builderuser', 'key-123') ->unpublished() ->get('apiPages');
要执行GET请求,请提供Builder宏名称,并可选地提供作为第二个参数的参数。
$response = $pendingRequest->forSite('sitename')->get('apiPages', ['foo', 'bar']);
您也可以直接使用外观进行请求。这将使用您在配置文件或环境变量中定义的配置。
$response = BuilderApi::get('apiPages'); // returns BuilderResponse object
如果您不想使用外观,您可以在构造方法中使用BuilderRequestFactory
类进行类型提示,或者使用app()->make()
use RedSnapper\Builder\BuilderRequestFactory; public function __construct(BuilderRequestFactory $factory) { $this->factory = $factory; # or... $factory = app()->make(BuilderRequestFactory::class); $pendingRequest = $factory->new(); $response = $pendingRequest->get('apiPages'); }
当发出请求时,将返回一个BuilderResponse
对象,该对象提供了用于检索Builder数据或Builder错误消息的方法。
$data = $response->data(); # get json decoded data if($response->failed()) { $errorMsg = $response->errorMsg(); }
以下是提供的完整方法列表,以帮助您分析响应
$response->data(); $response->successful(); $response->failed(); $response->errorMsg(); # error msg provided by Builder $response->status(); # status code of the response $response->throw(); # throw an exception if a server or client error occurred $response->getResponse(); # get the underlying 'Illuminate\Http\Client\Response' object
测试
vendor/bin/phpunit
变更日志
有关最近更改的更多信息,请参阅CHANGELOG
贡献
有关详细信息,请参阅CONTRIBUTING
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件