我正在使用play framework v2.5(Java API)。在一个post处理程序中,我得到以下异常(这使我相信它可能与通过的json数据的大小有关)。我已将以下内容添加到控制器操作的顶部,但这还没有解决问题:
contents1 = file[:-1].split(';')
contents = []
for part in contents1:
current = current + part + ';'
contents.append(current)
是否有另一个配置(可能在application.conf文件中设置)或其他地方,我可以增加允许处理此post请求的大小限制。我正在使用Java API。
@BodyParser.Of(value = BodyParser.Json.class, maxLength = 1024 * 1024 * 10 * 10)
答案 0 :(得分:1)
仅供参考,这里介绍了内置的身体解析器:
https://www.playframework.com/documentation/2.5.x/ScalaBodyParsers#max-content-length
所以你可以使用play.http.parser.maxMemoryBuffer
或在你的行动中定义它:
def save = Action(parse.maxLength(1024 * 10, storeInUserFile)) { request =>
Ok("Saved the request content to " + request.body)
}
答案 1 :(得分:0)
我将使用 play.http.parser.maxMemoryBuffer
在application.conf中增加数据限制。当我开始工作时,我会更新帖子。
可以使用application.conf文件中的以下字段来修改play框架中的各种缓冲区:
parsers.text.maxLength=
play.http.parser.maxDiskBuffer=
play.http.parser.maxMemoryBuffer=
增加缓冲区大小解决了我的问题。