Почему различные типы дефисов рассматриваются как вопросительный знак в Java? - PullRequest
0 голосов
/ 10 апреля 2019

Я получаю составной файл в качестве параметра моего контроллера.Мой контроллер:

@PostMapping({"/files"})
    @ApiOperation("Create a file")
    public FileDto postFile(
            @ApiParam(value = "Description of the file") @RequestParam("data") String data,
            @ApiParam(value = "The file") @RequestParam("file") MultipartFile file) throws IOException {

        FileDto fileDto = objectMapper.readValue(data, FileDto.class);
        fileValidator.validate(fileDto, file);
        return fileService.postFile(fileDto, file, fileDto.getNotificationInfo());
    }

Моя проблема связана с em-dash (-).Если имя файла состоит из em-dash, то оно рассматривается как вопросительный знак (?)

Например, если имя файла «test — test.pdf» и если я ставлю точку отладки на контроллере, параметр файлапоставляется с именем «test? test.pdf».

как я могу справиться с этим?На самом деле я хочу отредактировать имя файла с помощью регулярных выражений и заменить все различные типы тире и дефисов обычными дефисами, но это уже идет в виде знака вопроса

...