Laravel-Dingo的配置及使用

2018-05-08 Vaniot 更多博文 » 博客 » GitHub »

Laravel Dingo

原文链接 https://vaniot-s.github.io/2018/05/08/Laravel-Dingo%E7%9A%84%E9%85%8D%E7%BD%AE%E5%8F%8A%E4%BD%BF%E7%94%A8/
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。


一.安装及基础配置

dingo环境要求: - laravel(或Lumen)5.1+ - PHP 5.5.9 +

下载

安装使用Composer命令安装扩展包:

  composer require dingo/api:1.0.x@dev

<!--more-->

Laravel基础配置

在laravel框架下,注册服务提供者。config/app.php中的providers数组中添加如下代码

 Dingo\Api\Provider\LaravelServiceProvide::class

需要生成自定义的dingo配置文件config/api.php(发布的配置文件),在Termianl中执行

php artisan vendor:publis --provider="Dingo\Api\Provider\LaravelServiceProvider::class"
Lumen基础配置

打开bootstrap/app.php注册服务提供者:

$app->register(Dingo\Api\Provider\LumenServiceProvider::class);
门面

添加下面两个门面中的任意一个扩展包:

  • Dingo\Api\Facade\API
  • Dingo\Api\Facade\Route

二、使用的基础配置

安装的过程中功能都已预先配置完成,更多的配置可在:

  • .env文件实现大部分配置。
  • (Laravel)发布的配置文件或(Lumen)bootstrap/app.php中配置
  • AppserviceProvider的boot方法

env中的配置

标准树(API_STANDRDS_TRUE)

标准树有三个不同的值

  • x:未注册的,树用于本地或私有环境
  • prs:个人树,用于非商业销售的项目
  • vnd:供应商树,主要用于公开的及商业销售的项目
API_STANDARD_TREE=vnd

子类型(API_SUBTYPE)

子类型通常是应用或项目的简称,

API_SUBTYPE=BG

前缀和子域名

API一般以子域名的形式提供服务,前缀和子域名是必需的,同时只能有一个。 配置前缀

API_PREFIX=api

配置子域名

API_DOMAIN=api.myapp.com

默认的版本

在api.php中未设置API的版本时,默认为.env该配置

API_VERSION=V

API名字

API的名字在使用API Blueprint命令生成文档时会用到。

API_NAME=My API

带条件的请求

缓存API请求的时候会使用客户端缓存功能,默认开启带条件的请求

API_CONDITIONAL_REQUEST=false

Strict模式

Strict模式要求客户端发送Accept头而不是默认在配置文件中指定的版本。即不能通过Web浏览器浏览API。当Strict开启且是用了无效的Accept头 ,API会抛出Symfony\Component\HttpKenel\Exception\BadRequestHttpException异常。

API_STRICT=false

调试模式

开启调试模式,生成的错误信息将会被扩展包放到debug键中,并与堆栈跟踪信息一起显示

 API_DEBUG=true