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('Dingo\Api\Routing\Router');
$api->version('v1', ['middleware' => 'enableCrossRequests'], function ($api) {
    $api->group(['namespace' => '\App\Http\Controllers\Api'], function ($api) {
        /**
         * 注册
         */
        $api->post('/register', 'UsersController@register');
        /**
         *  登陆
         */
        $api->post('/login', 'UsersController@captcha');
    });
});

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

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

namespace App\Http\Controllers\Api;

use Dingo\Api\Routing\Helpers;

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);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值