1

我在玩游戏时遇到问题!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。如何实现?

4

0 回答 0