Github:https://github.com/dingo/api

环境要求

  • Laravel 5.1+
  • PHP 5.5.9+

安装

修改composer.json文件添加一下代码,并执行 composer update 以包含最新版软件包

“ require ”:{
     “ dingo / api ”: “ 1.0.*@dev ” 
}

或者执行 composer require dingo/api:1.0.x@dev 命令来安装

安装后将依赖于框架 如果要自定义配置,可以使用 Artisan 命令进行修改,在config目录

php artisan vendor:publish --provider="Dingo\Api\Provider\LaravelServiceProvider"

配置

标准树 三种:xprsvnd,在.env中配置

API_STANDARDS_TREE=vnd

前缀和子域名

.env中配置前缀

API_PREFIX=api

或子域名

API_DOMAIN=api.myapp.com

版本

可以在没有提供版本的时候使用,或者作为生成API文档时的默认版本

.env中配置

API_VERSION=v1

错误格式

遇到错误将会尝试生成错误响应,错误格式在 config 目录对应的配置文件自定义,格式:

$app['Dingo\Api\Exception\Handler']->setErrorFormat([
    'error' => [
        'message' => ':message',
        'errors' => ':errors',
        'code' => ':code',
        'status_code' => ':status_code',
        'debug' => ':debug'
    ]
]);

新建BaseController

<?php

namespace App\Http\Controllers\Api;

use Dingo\Api\Routing\Helpers;
use App\Http\Controllers\Controller;

class BaseController extends Controller
{
    use Helpers;
}

所有接口的控制器继承BaseController

wiki:https://github.com/dingo/api/wiki

转载

https://www.jianshu.com/p/74ecaafe9b54

集成dingo

  1. 在composer.json的require字段中添加:
    "dingo/api":"1.0.*@dev"
  2. 执行: composer update

  3. 在config/app.php注册到providers数组:
'providers'=>[

Dingo\Api\Provider\LaravelServiceProvider::class,

]
  1. 生成dingo配置文件config/api.php :
php artisan vendor:publish --provider="Dingo\Api\Provider\LaravelServiceProvider"
  1. .env添加基础配置(四个即可):
API_STANDARDS_TREE=vnd
API_PREFIX=api
API_VERSION=v1
API_DEBUG=true

集成JWT

  1. 在composer.json的require字段中添加:
"tymon/jwt-auth":"0.5.*"
  1. 执行: composer update

  2. 在config/app.php注册到providers数组:
'providers'=>[

Tymon\JWTAuth\Providers\JWTAuthServiceProvider::class,

]
  1. 注册jwt门面:
'aliases'=>[

'JWTAuth'=> Tymon\JWTAuth\Facades\JWTAuth::class,

'JWTFactory'=> Tymon\JWTAuth\Facades\JWTFactory::class,

]
  1. 生成jwt配置文件config/jwt.php :
php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\JWTAuthServiceProvider"
  1. 生成jwt.php文件中数组的secret键成对应的值:
php artisan jwt:generate

https://segmentfault.com/a/1190000009662512