dropwizard max json体型

时间:2015-03-27 17:34:49

标签: java json jetty dropwizard

我正在使用dropwizard进行REST服务,并希望限制POST请求的最大正文(json)大小。

我尝试将org.eclipse.jetty.server.Request.maxFormContentSize设置为1,但这并不限制体型。

如果有其他方法设置限制?

1 个答案:

答案 0 :(得分:0)

您可以从DropWizard MutableServletContextHandler获取environment

environment.getApplicationContext().setMaxFormContentSize(1024);

但是,MaxFormContentSize仅适用于表单编码请求。

要限制POST请求的请求正文的大小,您可以在Resource类中处理请求时检查内容长度:

@POST
@Path("/test")
public Response test(@Context final HttpServletRequest request) {
    int contentLength = request.getContentLength();
    if (contentLength == -1 || contentLength > MAX_REQUEST_SIZE) {
        // fail the request
    }       
    // do work
}