media24si / api-resource
Laravel Guzzle Api Resource 包
v3.0.1
2024-01-15 13:17 UTC
Requires
- php: ^8.0
- guzzlehttp/guzzle: ^7.0
- illuminate/support: *
README
一个简单的 Guzzle 包装器,提供对 API 端点的简单访问。
为了支持 Guzzle v5.0,请使用 v1.0.0
安装 - Laravel
使用以下命令通过 Composer (Packagist) 需求此包
$ composer require media24si/api-resource
在 config/app.php
中的 providers 数组中注册 ApiResourceServiceProvider
Media24si\ApiResource\ApiResourceServiceProvider::class,
发布供应商文件(配置文件)
$ php artisan vendor:publish
可选 在 config/app.php
中注册 facade
'Api' => Media24si\ApiResource\Facades\ApiResource::class
安装 - Lumen
使用以下命令通过 Composer (Packagist) 需求此包
$ composer require media24si/api-resource
在 bootstrap/app.php
(Lumen)中注册 ApiResourceServiceProvider
$app->register(Media24si\ApiResource\ApiResourceServiceProvider::class);
将配置文件从供应商 vendor/media24si/api-resource/src/config/apiresrouce.php
复制到您的本地配置文件夹 config/apiresource.php
,并在您的 bootstrap/app.php
中启用此配置(Lumen)
$app->configure('apiresource');
可选 在 bootstrap/app.php
(Lumen)中注册 facade
class_alias(Media24si\ApiResource\Facades\ApiResource::class, 'Api');
同时,确保取消注释同一文件中的此行
$app->withFacades();
使用方法
您可以在没有任何配置的情况下使用此包。只需在您的控制器中(或函数/控制器中注入 Media24si\ApiResource\ApiResource)使用 \Api facade。
调用您的端点,就像您会调用一个正常的 Guzzle 请求一样
\Api::get('http://httpbin.org'); // returns a response object
配置
默认值
请求选项的关联数组,应用于客户端创建的每个请求。请参阅官方 手册 。
示例
'defaults' => [ 'base_uri' => 'http://httpbin.org/'] ] #### endpoints Array of defined endpoints. Here you can define your aliases for endpoints. Sample array: ``` php 'endpoints' => [ 'notification' => [ 'uri' => 'http://httpbin.org/notification' ], 'categories' => [ 'uri' => '/categories', // with base_uri set 'options' => [ 'query' => [ 'fields' => 'id, title' ] ] ] ]
定义了端点后,您可以进行简单的调用。一个示例可能是
\Api::get('notification')
默认选项可以被覆盖
\Api::get('categories', ['query' => ['fields' => 'id, title, slug']])
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。