• laravel 5.5 快速配置 Dingo Api


    laravel version: 5.5.*

    为什么不用 laravel 自带的 response ? 原生的 response 可能不够强大,可能不够方便,也可能个人喜好问题,总之, 我还是比较喜欢 dingo api

    资料参考

    github
    documention
    中文社区

    创建一个 laravel 项目

    composer create-project laravel/laravel=5.5.*  --prefer-dist  ./dingo
    

    安装dingo扩展

    composer require dingo/api
    

    添加服务提供者

    php artisan vendor:publish
    

    修改env

    详细解释请看这里

    API_STANDARDS_TREE=vnd
    API_SUBTYPE=study
    API_PREFIX=
    API_DOMAIN=api.study.io
    API_VERSION=v1
    API_NAME=study
    API_CONDITIONAL_REQUEST=false
    API_STRICT=false
    API_DEFAULT_FORMAT=json
    

    创建 api 路由

    示例

    
    $api = app('DingoApiRoutingRouter');
    $api->version('v1', ['middleware' => 'enableCrossRequests'], function ($api) {
        $api->group(['namespace' => 'AppHttpControllersApi'], function ($api) {
            /**
             * 注册
             */
            $api->post('/register', 'UsersController@register');
            /**
             *  登陆
             */
            $api->post('/login', 'UsersController@captcha');
        });
    });
    

    这条线以下的是可选操作,纯属个人喜好

    创建一个基础类让其他类继承

    namespace AppHttpControllersApi;
    
    use DingoApiRoutingHelpers;
    
    class BaseController extends Controller
    {
        use Helpers;
    
        /**
         * 快速响应一个json格式的字符串
         * @param string $message        详细信息
         * @param array  $data           响应的数据
         * @param int    $responseCode   响应状态码
         * @return mixed
         */
        public function jsonResponse(string $message = '', array  $data = [], int $responseCode = 200)
        {
            return $this->response->array([
                'message' => $message,
                'data' => $data
            ])->setStatusCode($responseCode);
        }
    }
    
  • 相关阅读:
    ILM --interface logic model
    dbGet net trace instant pin
    LIST 列表
    Getopt::Long
    TCL Strings
    MBA 报考
    英语 口译考试
    微服务了解
    解析微服务架构(三):微服务重构应用及IBM解决方案
    解析微服务架构(二):融入微服务的企业集成架构
  • 原文地址:https://www.cnblogs.com/liaohui5/p/10581546.html
Copyright © 2020-2023  润新知