熟能生巧。
最近发表的话题
最近发表的评论
  • 在哪个位置重写`failedValidation`和`failedAuthorization`方法? at 3周前

    @mingzaily CommonException的作用正如你所理解的那样没错.

    其实我也是尝试过把App\Exceptions\Handler改成继承于Dingo\Api\Exception\Handler的, 可结果是整个程序无法正常运行, 表现为所有请求都无内容返回, 网络状态码是500, 连日志文件也没有错误记录. 所以这个方案还是放一放吧.
    很感谢你的分享哦~

  • 在哪个位置重写`failedValidation`和`failedAuthorization`方法? at 3周前

    @mingzaily 受到你的启发, 我的做法是抛出一个继承自Symfony\Component\HttpKernel\Exception\HttpException的异常CommonException, 然后再由App/Providers/AppServiceProvider::register方法捕获并处理, 最终返回自定义的数据格式.

        protected function failedValidation(Validator $validator)
        {
                throw new CommonException($validator->errors()->first());
        }

    App/Providers/AppServiceProvider

        public function register()
        {
            app(\Dingo\Api\Exception\Handler::class)->register(function (\App\Exceptions\Api\CommonException $exception) {
                return response($exception->getMsg(), $exception->getStatusCode());
            });
        }

    其中getMsg()是写在CommonException里的拼接数据的自定义方法, 最终返回的数据格式类似:

    {
        "data": [],
        "meta": {
            "code": 1100,
            "msg": "The code field is required."
        }
    }

    目的是表单检验通过与否都返回相同的数据格式.

    之所以在服务提供者里捕获是因为我这边的App\Exceptions\Handler ::render(类继承的是Illuminate\Foundation\Exceptions\Handler)根本不会被调用, 不管的是抛出什么异常(laravel5.8), 能说说你是怎么做到的吗

  • 在哪个位置重写`failedValidation`和`failedAuthorization`方法? at 3周前

    @mingzaily 谢谢, 真的对我很有帮助~ :smile:

  • 放弃云片,腾迅云让你轻松上手 at 1个月前

    @lisgroup 不止聚合,还有其它一些平台当时也试过了,都因为我的条件申请不了作罢的,最后是看到评论提到腾迅云我才去试了下,没想到大厂反而好申请下来.

  • Laravel Envoy 优雅的 SSH 远程任务执行工具 at 2个月前

    @maliao 使用envoy的前提是本地机对目标机已实现密钥验证方式登录。
    假设目标服务器是lala@192.168.20.20,那先得通过命令ssh-copy-id lala@192.168.20.20将密钥发送到目标机进行验证(过程中会要求输入目标用户的密码),验证成功后能通过ssh lala@192.168.20.20不用输密码即可直接登录目标机才算完成这一前提。

  • 请问默认值这个 url 应该如何产生? at 2个月前

    这个功能是设置路径参数的默认值.
    如设置URL::defaults(['locale'=>'china']);,有路由
    Route::get('/posts/{locale}',function() { })->name('posts');
    return route('posts');返回的路径部分会是/posts/china.

  • @alanliao 在 2019-01-08 11:01:54 的动弹 at 4个月前

    :tada: 恭喜恭喜

  • 能否讲解一下后台 code 的编辑操作 at 5个月前

    验证唯一性时忽略coupon_codes表中字段名为id,值为$id的值的那条记录.

  • 销量有增加,但是没有收到邮件,是不是配置信息错了? at 5个月前

    遇到了代码正常,却因没重启队列处理器而一直刷 Processing的情况,重启下就好了:joy:

  • @if ($index === 0)?..... @endif at 5个月前

    无论订单有多少样商品,从订单总价列开始到最后一列都只有一行,且是在循环一开始的时候(索引为0)添加进去的。

  • 解决 Windows 系统使用 Homestead 运行 Laravel 本地项目响应缓慢问题 at 7个月前

    感谢 @Carlgao 使用 vagrant plugin install vagrant-winnfsd --plugin-clean-sources --plugin-source https://gems.ruby-china.com/ ,解决了被墙问题,成功装上了