gpt4 book ai didi

playframework - Play Framework 2

转载 作者:行者123 更新时间:2023-12-02 04:54:39 24 4
gpt4 key购买 nike

我有一个关于最佳实践的问题:在应用程序中处理 GET 和 POST 请求的最佳方式是什么?应该使用两种单独的 Controller 方法(一种用于 POST,一种用于 GET)还是一起处理。他们对这两种选择有什么优点/缺点吗?两者都是可行且有效的,我只想听听社区的意见。我正在使用 play 框架,但这实际上适用于任何 MVC 框架。下面我创建了第二个选项的简单示例,仅供引用。

在路由文件中定义了两个路由(确保 POST 高于 GET 以便它优先)都指向相同的方法:

POST  /index           controllers.Application.index()
GET /index controllers.Application.index()

在应用程序 Controller 中我们有一个方法:

public static Result index() {
if (request().method().equals("POST")) {
// bind, validate, return badRequest if hasErrors else capture and redirect
}
return Results.ok(index.render("Home", Application.testForm));
}

你的想法?

最佳答案

我倾向于使用 Rails-style routing ,这使得路由文件看起来像

GET    /foos          controllers.FooController.index()
GET /foos/new controllers.FooController.new_form()
POST /foos controllers.FooController.create()
GET /foos/:id controllers.FooController.show(id:Long)
GET /foos/:id/edit controllers.FooController.edit_form()
PUT /foos/:id controllers.FooController.update(id:Long)
DELETE /foos/:id controllers.FooController.delete(id:Long)

这将大部分处理 Foo 对象的代码保留在同一个地方,任何实用方法都在附近。您或许可以制作一个更智能的 Play 路由器来自动设置这些路由,例如 Rails 的资源。

关于playframework - Play Framework 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18217856/

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