gpt4 book ai didi

php - 如何使用具有相同 Controller 的 Laravel 制作网站和 API REST?

转载 作者:行者123 更新时间:2023-12-02 01:33:55 25 4
gpt4 key购买 nike

我真的是 Laravel 框架的新手,我想开发一个 Web 应用程序,它也有自己的 API Rest,但我不知道哪种方法最好。

我希望 Controller 和方法对于 Web 操作和 API REST 操作可以是相同的,例如,如果我提出这样的请求,对于用户模块:

http://myproject.com/userRegister/

然后网络向我显示了一个带有用户注册表单的 View HTML,但是如果我调用这样的请求:

http://myproject.com/api/userRegister/

然后响应将是一个 JSON,其中包含我注册用户所需的表单数据。

我希望他们都使用 UserRegisterController 和相同的方法,例如:“formRegister”,所有这些都是为了避免在不同的方法中重复业务逻辑。

知道什么是最好的方法吗?我进行了研究,有些人建议使用 JSON 响应制作所有服务并使用 AngularJS 或类似方法进行解析,但我不希望这样,我只想将 Laravel 与 HTML 一起使用。

最佳答案

让相同的 Controller 处理 api 和 web 请求并不是最好的决定。这种逻辑迟早会导致代码困惑。

不要忘记让你的 Controller 尽可能的精简,并将你的大部分逻辑转移到模型、服务和存储库中。这将帮助您拥有两个具有尽可能少代码的独立 Controller 版本。

但是如果你仍然想组合它们,你可以使用 \Request::acceptsJson() \Request::acceptsHtml()方法来确定您有什么类型的请求。

关于php - 如何使用具有相同 Controller 的 Laravel 制作网站和 API REST?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32344131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com