我在玩游戏时遇到问题!Framework 2.1.1
当向我的应用程序(Play!2.1.1)发送一个大(100kb+)请求时,我得到一个“413 Request Entity Too Large”,这很好,因为默认限制为 100kb。
但是,如果我发送大约 104kb(也许这个数字只适合我),我会再次获得 200 OK,但使用request().body()
as null 并且因此所有 Form 实体也是如此......
为什么我得到一个 200 OK 并让我的代码在它应该返回 413 时运行?
一个 hack-ish 修复可能是(在我的 Global.java 中,它扩展了 GlobalSettings):
@Override
public Action onRequest(Request request, Method actionMethod) {
if(request.body().isMaxSizeExceeded()) {
return new Action.Simple() {
@Override
public Result call(Context arg0) throws Throwable {
return Action.status(413);
}
};
}
return super.onRequest(request, actionMethod);
}
编辑:上面的代码使所有(?)路由的请求返回 413。
如果是 413,我更愿意返回 JSON。如何实现?