laravel接口开发—dingo的安装配置

Dingo Api是致力于提供给开发者一套工具,帮助你方便快捷的建造你自己的API
github: https://github.com/dingo/api/
wiki: /

安装

下面使用均在laravel环境中进行

安装组件

方法一
在中添加信息

"require": {
    "dingo/api": "^"
}

执行composer更新指令

composer update

方法二
直接执行composer安装

composer require dingo/api:

生成配置文件

执行下面命令生成配置文件 /config/

php artisan vendor:publish

输入dingo的编号并回车,会在config下生成的配置文件

配置文件

配置统一定义在 config/ 中,项目中可以在.env中设置

#接口围绕:[x]本地和私有环境 [prs]公司内部app使用 [vnd]公开接口
'standardsTree' => env('API_STANDARDS_TREE', 'x')

#项目名称
'subtype' => env('API_SUBTYPE', 'laradmin')

#Api前缀 通过  来访问 API。
'prefix' => env('API_PREFIX', 'api')

#api域名
'domain' => env('API_DOMAIN', ''),

#版本号
'version' => env('API_VERSION', 'v1')

#开发时开启DEBUG便于发现错误
'debug' => env('API_DEBUG', false)

prefix 与 domain 只能二选一,一个需要设置为null

.env设置示例

API_STANDARDS_TREE=vnd
API_SUBTYPE=myapp
API_PREFIX=api
#API_DOMAIN=api.myapp.com
API_VERSION=v1

接口路由

在 routes/ 文件定义

$api = app(\Dingo\Api\Routing\Router::class);

#默认配置指定的是v1版本,可以直接通过 {host}/api/version 访问到
$api->version('v1', function ($api) {
    $api->get('version', function () {
        return 'v1';
    });
    $api->get('abc', function () {
        return 'abc';
    });
});

#如果v2不是默认版本,需要设置请求头  
#Accept: application/[配置项standardsTree].[配置项subtype].v2+json
#Accept: application/
$api->version('v2', function ($api) {
    $api->get('version', function () {
        return 'v2';
    });
});
THE END