Configurei todo o projeto para UTF-8, mas na hora de receber o MultipartFile vem com defaultCharset = "ISO8859-1".
Já testei com Postman: Content-Type - multipart/form-data;boundary=12345;charset=UTF-8
Obs: Tenho que receber um arquivo MultipartFile e uma string separados, não dá para mandar no Body porque envio um formData e não é somente JSON. Já testei com @RequestPart, @RequestParam e @ModelAttribute.
@Transactional
@PostMapping(consumes = { "multipart/form-data" })
public ResponseEntity<ProdutoDTO> cadastrar(@RequestPart(value = "file") MultipartFile arquivo,
@RequestParam(value="data", required = true) @Valid String form, UriComponentsBuilder uriBuilder) throws IOException {
// implementação
}
@Bean
public FilterRegistrationBean<CharacterEncodingFilter> encodingFilterRegistration() {
CharacterEncodingFilter encodingFilter = new CharacterEncodingFilter();
encodingFilter.setEncoding("UTF-8");
encodingFilter.setForceEncoding(true);
FilterRegistrationBean<CharacterEncodingFilter> filterRegistrationBean = new FilterRegistrationBean<CharacterEncodingFilter>(
encodingFilter);
filterRegistrationBean.setName("CharacterEncodingFilter");
filterRegistrationBean.addUrlPatterns("/*");
filterRegistrationBean.setAsyncSupported(true);
return filterRegistrationBean;
}