使用Play Framework 2.1,我希望根据请求的Accept标头做出微小的行为变化。我唯一想做的就是:
CONF /路由
GET /widgets controllers.WidgetController.getWidgets()
WidgetController.java
public class LoginController extends Controller {
public static Result loginUser() {
if (ctx().request().headers().get("Accept")[0].equals("application/json")) {
// ... json-specific logic
}
// common processing code
if (ctx().request().headers().get("Accept")[0].equals("application/json")) {
return ok();
} else {
return redirect(...);
}
}
}
似乎非常讨厌和程序化。关于惯用语的任何建议" Play"这样做的方法?
答案 0 :(得分:1)
您可以测试是否request().accepts("application/json“)
,但是对于每种内容类型检查if-else似乎都是the standard way。