Обновление до Spring 5 прервало загрузку RestTemplate MultipartFile

Я обновился с весны 4.3.16 до весны 5.0.7. При попытке загрузить файл с помощью restTemplate я начал получать "400 - Bad Request". После возни с единственной разницей в поведении, которую я заметил, было удаление requestEntity из вызова обмена, и ошибка (неправильный запрос) исчезает, однако происходит сбой, потому что файл отсутствует для загрузки.

Любая помощь будет принята с благодарностью!

Клиент:

    public <T> ResponseEntity<T> uploadMultipartFile(String requestParamName, byte[] byteArray, String fileName,
        Class<T> responseType) {

    ByteArrayResource byteArrayAsResource = new ByteArrayResource(byteArray) {
        @Override
        public String getFilename() {
            return fileName;
        }
    };

    MultiValueMap<String, Object> map = new LinkedMultiValueMap<>();
    map.add(requestParamName, byteArrayAsResource);

    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.MULTIPART_FORM_DATA);

    HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(map, headers);

    return getRestTemplate().exchange(buildUriWithVariables(new HashMap<>()), HttpMethod.POST, requestEntity, responseType);
}

И контроллер:

@RequestMapping("/multipleUpload")
public ModelAndView multipleUpload(HttpServletRequest request, HttpServletResponse response,
        @RequestParam(value = "files", required = false) MultipartFile[] files,
        @ModelAttribute("document") Document document,
        BindingResult result) {}

Похоже, что Apache жалуется на тело запроса:

[Ср. 18 июля 11:02:29.705758 2018] [: ошибка] [pid 1313:tid 140177850750720] [клиент] ModSecurity: доступ запрещен с кодом 400 (этап 2). Требуется совпадение "eq 0" с "REQBODY_ERROR". [file "/etc/modsecurity/modsecurity.conf"] [строка "54"] [id "200001"] [msg "Не удалось проанализировать тело запроса."] [data "Multipart: недопустимая граница в CT (символы)."] [серьезность "КРИТИЧЕСКИЙ"] [имя хоста ""] [uri "/restless/documentUpload/multipleUpload"] [unique_id "W09WhX8AAAEAAAUhs7IAAABI"]

0 ответов

Другие вопросы по тегам