Как ограничить объем данных, которые можно публиковать в моем приложении? - PullRequest
0 голосов
/ 18 июня 2019

У меня есть самый простой веб-проект spring-boot-starter с одной конечной точкой POST, которая печатает размер тела запроса

Я хочу настроить весеннюю загрузку так, чтобы она не принимала закачки размером более 32 КБ.

Есть ли способ достичь этого? То есть пружинная загрузка mvc отклоняет запрос, который превышает настроенный максимальный размер загрузки?

Я использую весеннюю загрузку версии 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 - файл размером 900 МБ, в результате

{"timestamp":"2019-06-18T17:52:03.244+0000","status":500,"error":"Internal Server Error","message":"Java heap space","path":"/"}

Я бы предпочел какое-то исключение, которое указывает, что этот объем данных превышает настроенный лимит.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...