所有api操作的一条路线

时间:2018-05-07 07:00:16

标签: routes laravel-5.6

我正在使用Laravel 5.6开发api,用于一个应用程序,我被要求为所有可以通过发送的参数控制的操作提供一条路由。这样做,应该使前端开发人员的工作更轻松,因为他/她不必担心要调用的不同路由,因为一条路由可以完成所有工作。

因此,在一个方法中将有一个具有所有相关功能的控制器。应根据给定的参数区分不同表格上的不同操作。

所以我只是想知道继续采用这种方法是否明智,因为我从未研究过这种概念。

1 个答案:

答案 0 :(得分:1)

如前所述,所有这些都很大程度上取决于数据模型,这在您的问题中并不明确。

所以主要的问题是,api会提供什么样的数据?

但是在不知情的情况下,所提出的解决方案对我来说听起来不是一个好方法。

我要去的缺点是:

  1. 看起来后端正在修复前端缺乏结构。

    通常,不同的前端组件将依赖于不同的API端点。混合使用会导致难以在所有方面维护代码。

  2. 前端应该担心他们的所谓。

    我没有看到前端知道他们想要发送哪些参数的逻辑,但他们不想知道在哪里发送它?

  3. API代码可维护性会不利于前端?这对我来说没有任何意义,这将会回来困扰你。
  4. 您正在为api添加不必要的和不必要的复杂性。

    考虑如何处理输入验证,以及如何将其返回到前端。

  5. 为了它的价值;

    我通常使用平坦的REST api,直接在数据库模型上开始,以允许简单的CRUD和带有简单过滤/排序/分页操作的列表。

    对于Laravel而言,这意味着在您的实体上使用resource controllers,这将暴露该实体的CRUD端点。

    这将暴露一个简单的接口,客户端可以在其中获取/创建/更新单个实体。

    除此之外,,如果需要,如果特定前端/用法需要,我将创建其他API端点,最重要的是,移动该功能必须有意义到api /后端。