Routes 所有api操作的一条路由

Routes 所有api操作的一条路由,routes,laravel-5.6,Routes,Laravel 5.6,我正在使用Laravel 5.6开发api,用于一个应用程序,在该应用程序中,我被要求为所有操作提供一条路径,该路径可以由发送的参数控制。这样做可以使前端开发人员的工作更轻松,他们不必担心要调用的不同路由,因为一条路由就可以完成所有任务 因此,将有一个控制器,在一种方法中具有所有相关功能。不同表上的不同操作应根据给定的参数而不是其他参数进行区分 因此,我只是想知道采用这种方法是否明智,因为我从未研究过这种概念。如前所述,所有这些都将在很大程度上取决于数据模型,这在您的问题中并不清楚 因此,主要的

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

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


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

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

因此,主要的问题是,api将提供什么样的数据

但在我不知道的情况下,提议的解决方案听起来并不是一个好办法

我的反对意见是:

  • 看起来后端正在修复前端结构的不足

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

  • 前端应该担心他们所说的

    我不认为前端知道他们想发送哪些参数,但他们不想知道在哪里发送

  • API代码的可维护性会对前端不利吗?这对我来说毫无意义,它会回来困扰你
  • 您正在向api添加不必要和不必要的复杂性

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

  • 为了它的价值

    我通常从一个平面RESTAPI开始,直接在数据库模型上使用,以允许简单的CRUD和list以及简单的筛选/排序/分页操作

    对于Laravel,这意味着在实体的顶部使用,这将公开该实体的CRUD端点

    这将公开一个简单的接口,客户机可以在其中获取/创建/更新单个实体


    除此之外,如果需要,如果特定的前端/使用需要,我将创建额外的API端点,除此之外,将该功能移动到API/后端是有意义的。

    老实说,这听起来不是一个好方法,但这真的取决于应用程序的数据模型。如果我们继续采用这种方法,请您详细说明缺点,以便我介绍我的案例。很好,谢谢。感谢你为给出清晰的答案所付出的努力。我将讨论您提到的要点。api将通过表单数据(通过http请求)接收输入,并返回json响应。