我有一个最基本的spring-boot-starter Web项目,它带有一个POST端点,可以打印请求正文的大小
我想配置Spring Boot,以使其不接受超过32KB的上传。
反正有实现这一目标的方法吗,即让spring boot mvc拒绝超出配置的最大上传大小的请求?
我使用的是Spring Boot 2.1.5.RELEASE版本。
我尝试过
server.tomcat.max-http-post-size=1KB
server.tomcat.max-swallow-size=1KB
spring.servlet.multipart.max-file-size=1KB
spring.servlet.multipart.max-request-size=1KB
这是我唯一的端点:
@RequestMapping(value = "", method = RequestMethod.POST)
public ResponseEntity<String> pong(@RequestBody String body) {
return new ResponseEntity<>("FINISHED: " + body.length(), HttpStatus.OK);
}
无论我使用哪种配置,我都可以执行
curl -sS -X POST -H "Content-type: application/text" http://localhost:8080/ --data-binary @./file2.txt
其中file2.txt是900Mb文件,结果为
{"timestamp":"2019-06-18T17:52:03.244+0000","status":500,"error":"Internal Server Error","message":"Java heap space","path":"/"}
我更喜欢某种表明该数据量超出配置限制的异常。
谢谢。