我正在使用 Play 创建一个 RESTful 服务。我希望 Play 拒绝在请求标头中未将媒体类型指定为 JSON 的任何请求。
有教程有一个很好的例子。 http://www.playframework.com/documentation/2.0/JavaJsonRequests
读它说的地方......
@BodyParser.Of(Json.class)
public static index sayHello() {
String name = json.findPath("name").getTextValue();
if(name == null) {
return badRequest("Missing parameter [name]");
} else {
return ok("Hello " + name);
}
}
注意:这样,对于非 JSON 请求,将自动返回 400 HTTP 响应。
为什么它返回 HTTP 错误 400,错误请求,而不是 HTTP 错误 415,不支持的媒体类型?
有没有办法改变这种行为?