小白兔晒黑了

导航

 

1 安装

1.1 选择版本

选择你要的版本。https://packagist.org/packages/dingo/api

不同leravel对应不同的dingo

1.2 安装

 composer require dingo/api

1.3 配置

发布配置文件

php artisan vendor:publish

.env

API_VERSION=v1
API_DEBUG=true
API_DOMAIN=http://api.ttt.com
API_PREFIX=api

 

2 创建端点(路由)

2.1 端点

\routes\api.php

$api = app('Dingo\Api\Routing\Router');
$api->version('v1',function ($api){
    $api->get('/test/foo','App\Http\Controllers\Api\TestController@foo');
});

 

2.2 基础控制器

php artisan make:controller BaseController

\app\Http\Controllers\BaseController.php

<?php

namespace App\Http\Controllers;

use Dingo\Api\Routing\Helpers;
use Illuminate\Routing\Controller;

class BaseController extends Controller
{
    //
    use Helpers;
}

2.3 继承控制器

 php artisan make:controller Api\TestCroller

\app\Http\Controllers\Api\TestController.php

<?php


namespace App\Http\Controllers\Api;

use Illuminate\Http\Request;

use App\Http\Controllers\BaseController ;

class TestController extends BaseController
{
    public  function  foo()
    {
        return $this->response->array(['error'=>'200','data'=>['路由成功']]);
    }
}

3 测试

php artisan api:routes

 

4  添加jwt 中间件

$api->version('v1',function ($api){
    $api->get('/test/foo','App\Http\Controllers\Api\TestController@foo');
});

 

$api->version('v1',['middleware'=>'jwt_auth'],function ($api){
    $api->get('/test/foo2','App\Http\Controllers\Api\TestController@foo2');
});

$api->version('v1',function ($api){
    $api->get('/test/foo','App\Http\Controllers\Api\TestController@foo');
    $api->group(['middleware'=>'jwt_auth'],function ($api){
        $api->get('/test/foo2','App\Http\Controllers\Api\TestController@foo2');
    });
});

$api->version('v1',function ($api){
    $api->group(['middleware'=>'jwt_auth'],function ($api){
        $api->get('/test/foo','App\Http\Controllers\Api\TestController@foo');
        $api->get('/test/foo2','App\Http\Controllers\Api\TestController@foo2');
    });
});

 

posted on 2021-04-13 20:11  小白兔晒黑了  阅读(97)  评论(0编辑  收藏  举报