我想区分text / html和application / json,但我的代码总是返回text / html。
public static Result GetAll() {
List<ErrorType> dataList = ErrorType.find.where().orderBy("id asc").findList();
title = Thread.currentThread().getStackTrace()[1].getMethodName() + "/" + title;
//html
if (request().accepts("text/html")) {
return ok(index.render(dataList, title));
}
//json
if (request().accepts("application/json")) {
return ok(Json.toJson(dataList));
}
//other
return badRequest("accepts only text/html or application/json");
}
答案 0 :(得分:1)
如果请求同时接受html
和json
(在很多情况下就是这种情况),那么if
的第一个html
语句将始终执行,您将在获得json
部分的if语句之前返回响应。