zoukankan      html  css  js  c++  java
  • leravel 7 和 dingo 3 的使用 与jwt配合

    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 端点

    outesapi.php

    $api = app('DingoApiRoutingRouter');
    $api->version('v1',function ($api){
        $api->get('/test/foo','AppHttpControllersApiTestController@foo');
    });

    2.2 基础控制器

    php artisan make:controller BaseController

    appHttpControllersBaseController.php

    <?php
    
    namespace AppHttpControllers;
    
    use DingoApiRoutingHelpers;
    use IlluminateRoutingController;
    
    class BaseController extends Controller
    {
        //
        use Helpers;
    }

    2.3 继承控制器

     php artisan make:controller ApiTestCroller

    appHttpControllersApiTestController.php

    <?php
    
    
    namespace AppHttpControllersApi;
    
    use IlluminateHttpRequest;
    
    use AppHttpControllersBaseController ;
    
    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','AppHttpControllersApiTestController@foo');
    });
    $api->version('v1',['middleware'=>'jwt_auth'],function ($api){
        $api->get('/test/foo2','AppHttpControllersApiTestController@foo2');
    });

    $api->version('v1',function ($api){
        $api->get('/test/foo','AppHttpControllersApiTestController@foo');
        $api->group(['middleware'=>'jwt_auth'],function ($api){
            $api->get('/test/foo2','AppHttpControllersApiTestController@foo2');
        });
    });

    $api->version('v1',function ($api){
        $api->group(['middleware'=>'jwt_auth'],function ($api){
            $api->get('/test/foo','AppHttpControllersApiTestController@foo');
            $api->get('/test/foo2','AppHttpControllersApiTestController@foo2');
        });
    });
  • 相关阅读:
    iframe应用 相互之间发送消息 postMessage
    function angular.bootstrap()
    总结
    1-angular.bind
    jQuery treeTable v 1.4.2
    声明了一个模块和一个控制器AngularJS的处理过程
    angularJs $templateCache
    $.fn.zTree 的使用
    Java异常throws与throw的区别
    Pom报错
  • 原文地址:https://www.cnblogs.com/polax/p/14655118.html
Copyright © 2011-2022 走看看