API Request,按照《Laravel项目开发规范》每个Controller中的方法都只对应一个request文件吗?

API Request,按照《Laravel项目开发规范》每个Controller中的方法都只对应一个request文件吗?例如:orderList方法有参数page,status,date等,orderDetail方法有参数orderId。或者有两个列表方法参数有只是部分不同,大多相同,也是需要加两个request文件吗? 在同一控制器中不同方法的验证,可以在同一个request文件中完成吗?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

让你的 validate 支持场景验证 三年前写的,我觉得应该是你想要的。

1年前 评论
讨论数量: 7

request 不是可以 request->get('page') request->post('page') request->get('status') request->post('status') request->get('orderId') request->post('orderId')

1年前 评论

是的,应当做到单一职责。

你可以把它们有交叉的部分抽离,然后继承。

1年前 评论
 public function rules()
    {
        $routeAction = explode('@', $this->route()->getActionName())[1];
        switch ($routeAction) {
            case 'createOrder':
                return [
                    'name'           => ['required'],
                    'phone'          => ['required']
                ];
            case 'pay':
                return [
                    'order_id' => ['required']
                ];
            default:
                return [];
        }
    }
1年前 评论
wangyou (楼主) 1年前
sinmu 1年前

最好这样,我之前也试着合在一个文件中,但这样不好维护,改了它相当于影响了两个控制器方法

1年前 评论

让你的 validate 支持场景验证 三年前写的,我觉得应该是你想要的。

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!