我正在使用Laravel 5.6开发api,用于一个应用程序,我被要求为所有可以通过发送的参数控制的操作提供一条路由。这样做,应该使前端开发人员的工作更轻松,因为他/她不必担心要调用的不同路由,因为一条路由可以完成所有工作。
因此,在一个方法中将有一个具有所有相关功能的控制器。应根据给定的参数区分不同表格上的不同操作。
所以我只是想知道继续采用这种方法是否明智,因为我从未研究过这种概念。
答案 0 :(得分:1)
如前所述,所有这些都很大程度上取决于数据模型,这在您的问题中并不明确。
所以主要的问题是,api会提供什么样的数据?
但是在不知情的情况下,所提出的解决方案对我来说听起来不是一个好方法。
我要去的缺点是:
看起来后端正在修复前端缺乏结构。
通常,不同的前端组件将依赖于不同的API端点。混合使用会导致难以在所有方面维护代码。
前端应该担心他们的所谓。
我没有看到前端知道他们想要发送哪些参数的逻辑,但他们不想知道在哪里发送它?
您正在为api添加不必要的和不必要的复杂性。
考虑如何处理输入验证,以及如何将其返回到前端。
为了它的价值;
我通常使用平坦的REST api,直接在数据库模型上开始,以允许简单的CRUD和带有简单过滤/排序/分页操作的列表。
对于Laravel而言,这意味着在您的实体上使用resource controllers,这将暴露该实体的CRUD端点。
这将暴露一个简单的接口,客户端可以在其中获取/创建/更新单个实体。
除此之外,,如果需要,如果特定前端/用法需要,我将创建其他API端点,最重要的是,移动该功能必须有意义到api /后端。