我有一个关于最佳实践的问题:在应用程序中处理 GET 和 POST 请求的最佳方式是什么?应该使用两种单独的控制器方法(一种用于 POST,一种用于 GET)来完成,还是应该在一个中一起处理。他们对这两种选择有什么优点/缺点吗?两者都是可行的和工作的,我只是想听听社区的意见。我正在使用 play 框架,但这确实适用于任何 MVC 框架。下面我创建了第二个选项的简单示例,仅供参考。
在路由文件中定义了两个路由(确保 POST 高于 GET 以便优先)都指向同一个方法:
POST /index controllers.Application.index()
GET /index controllers.Application.index()
在应用程序控制器中,我们有一种方法:
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));
}
你的意见?