mirror of
https://gitee.com/ShopeX/ECShopX
synced 2026-05-13 01:45:56 +08:00
248 lines
8.2 KiB
PHP
248 lines
8.2 KiB
PHP
<?php
|
||
|
||
return [
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Standards Tree
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| Versioning an API with Dingo revolves around content negotiation and
|
||
| custom MIME types. A custom type will belong to one of three
|
||
| standards trees, the Vendor tree (vnd), the Personal tree
|
||
| (prs), and the Unregistered tree (x).
|
||
|
|
||
| By default the Unregistered tree (x) is used, however, should you wish
|
||
| to you can register your type with the IANA. For more details:
|
||
| https://tools.ietf.org/html/rfc6838
|
||
|
|
||
*/
|
||
|
||
'standardsTree' => env('API_STANDARDS_TREE', 'vnd'),
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| API Subtype
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| Your subtype will follow the standards tree you use when used in the
|
||
| "Accept" header to negotiate the content type and version.
|
||
|
|
||
| For example: Accept: application/x.SUBTYPE.v1+json
|
||
|
|
||
*/
|
||
|
||
'subtype' => env('API_SUBTYPE', 'ecshopx'),
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Default API Version
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| This is the default version when strict mode is disabled and your API
|
||
| is accessed via a web browser. It's also used as the default version
|
||
| when generating your APIs documentation.
|
||
|
|
||
*/
|
||
|
||
'version' => env('API_VERSION', 'v1'),
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Default API Prefix
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| A default prefix to use for your API routes so you don't have to
|
||
| specify it for each group.
|
||
|
|
||
*/
|
||
|
||
'prefix' => env('API_PREFIX', 'api'),
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Default API Domain
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| A default domain to use for your API routes so you don't have to
|
||
| specify it for each group.
|
||
|
|
||
*/
|
||
|
||
'domain' => env('API_DOMAIN', null),
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Name
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| When documenting your API using the API Blueprint syntax you can
|
||
| configure a default name to avoid having to manually specify
|
||
| one when using the command.
|
||
|
|
||
*/
|
||
|
||
'name' => env('API_NAME', 'SHOPEX'),
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Conditional Requests
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| Globally enable conditional requests so that an ETag header is added to
|
||
| any successful response. Subsequent requests will perform a check and
|
||
| will return a 304 Not Modified. This can also be enabled or disabled
|
||
| on certain groups or routes.
|
||
|
|
||
*/
|
||
|
||
'conditionalRequest' => env('API_CONDITIONAL_REQUEST', false),
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Strict Mode
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| Enabling strict mode will require clients to send a valid Accept header
|
||
| with every request. This also voids the default API version, meaning
|
||
| your API will not be browsable via a web browser.
|
||
|
|
||
*/
|
||
|
||
'strict' => env('API_STRICT', false),
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Debug Mode
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| Enabling debug mode will result in error responses caused by thrown
|
||
| exceptions to have a "debug" key that will be populated with
|
||
| more detailed information on the exception.
|
||
|
|
||
*/
|
||
|
||
'debug' => env('API_DEBUG', false),
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Generic Error Format
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| When some HTTP exceptions are not caught and dealt with the API will
|
||
| generate a generic error response in the format provided. Any
|
||
| keys that aren't replaced with corresponding values will be
|
||
| removed from the final response.
|
||
|
|
||
*/
|
||
|
||
'errorFormat' => [
|
||
'message' => ':message',
|
||
'errors' => ':errors',
|
||
'code' => ':code',
|
||
'status_code' => ':status_code',
|
||
'debug' => ':debug',
|
||
],
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| API Middleware
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| Middleware that will be applied globally to all API requests.
|
||
|
|
||
*/
|
||
|
||
'middleware' => [
|
||
|
||
],
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Authentication Providers
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| The authentication providers that should be used when attempting to
|
||
| authenticate an incoming API request.
|
||
|
|
||
*/
|
||
|
||
'auth' => [
|
||
'jwt' => Dingo\Api\Auth\Provider\JWT::class,
|
||
'wxapp' => EspierBundle\Auth\Wxapp\WxappUserProvider::class,
|
||
'adminwxapp' => EspierBundle\Auth\Wxapp\AdminProvider::class,
|
||
'nowxappauthorize' => EspierBundle\Auth\Wxapp\NoWxappAuthorizeProvider::class,
|
||
'qywxapp' => EspierBundle\Auth\Wxapp\QyWxappProvider::class,
|
||
'superadmin' => EspierBundle\Auth\Super\AdminProvider::class,
|
||
],
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Throttling / Rate Limiting
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| Consumers of your API can be limited to the amount of requests they can
|
||
| make. You can create your own throttles or simply change the default
|
||
| throttles.
|
||
|
|
||
*/
|
||
|
||
'throttling' => [
|
||
'custom' => new \EspierBundle\Dingo\Http\RateLimit\CustomThrottle(['limit' => env('THROTTLING_LIMIT', 1000), 'expires' => env('THROTTLING_EXPIRES', 1)])
|
||
],
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Response Transformer
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| Responses can be transformed so that they are easier to format. By
|
||
| default a Fractal transformer will be used to transform any
|
||
| responses prior to formatting. You can easily replace
|
||
| this with your own transformer.
|
||
|
|
||
*/
|
||
|
||
'transformer' => env('API_TRANSFORMER', Dingo\Api\Transformer\Adapter\Fractal::class),
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Response Formats
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| Responses can be returned in multiple formats by registering different
|
||
| response formatters. You can also customize an existing response
|
||
| formatter with a number of options to configure its output.
|
||
|
|
||
*/
|
||
|
||
'defaultFormat' => env('API_DEFAULT_FORMAT', 'json'),
|
||
|
||
'formats' => [
|
||
|
||
#'json' => Dingo\Api\Http\Response\Format\Json::class,
|
||
'json' => EspierBundle\Dingo\Http\Response\Format\Json::class,
|
||
|
||
],
|
||
|
||
'formatsOptions' => [
|
||
|
||
'json' => [
|
||
'pretty_print' => env('API_JSON_FORMAT_PRETTY_PRINT_ENABLED', false),
|
||
'indent_style' => env('API_JSON_FORMAT_INDENT_STYLE', 'space'),
|
||
'indent_size' => env('API_JSON_FORMAT_INDENT_SIZE', 2),
|
||
],
|
||
|
||
],
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| 限流的api别名配置
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| api路由中的别名配置到对应配置下,以英文逗号隔开
|
||
|
|
||
*/
|
||
'throttle_api_alias_name' => env('THROTTLE_API_ALIAS_NAME', '')
|
||
];
|