dingo 内部调用时使用 laravel 的表单验证问题

  1. dingo 中内部接口调用, 当使用 laravel (版本 5.5) 表单验证时, 接口会一直报出 422 状态码错误。
  2. 相关代码如下:

    • 业务逻辑:提交体验课时创建一个学员
    • 相关控制器代码如下:

      - 提交体验课
          ```php
          $request->validate([
              'phone' => ['required', 'regex:/^1[3456789]\d{9}$/'],
              'name' => ['required'],
          ]);
          
          // 调用创建学员接口
          $this->api->with($request->all())->post('/api/students');
          ```
      
      - 创建学员
          ```php
          $request->validate([
              'phone' => ['required', Rule::unique('students', 'phone')],
              'datasoure' => ['required'],
          ]);
          ```
  3. 接口返回:

    "message": "422 Unprocessable Entity",
    "status_code": 422,
  4. 体验课提交 接口验证可以通过, 创建学员 接口验证通不过; 依赖注入时的是 Illuminate\Http\Request 对象; 但是发现 dingo 内部调用时实例化后的是 InternalRequest 对象; 但是实则是继承关系; 希望得到解决方法. 谢谢
阅读 1.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进