Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] [ERRO] JSON gerado com caracteres malucos nas acentuações

Pessoal,

Estou fazendo o curso Spring Boot 3 e REST, onde criei um arquivo com mensagens de erro => messages_pt_BR.properties>

Após montar a mensagem dinamica na aplicacao em gerar o JSON com as mensagens para serem lidas no frontend, o Insomnia, Postman ou mesmo copiando para o clipboard, está exibindo tudo da forma abaixo:

[ { "field": "nome", "errorMessage": "O campo n�o pode estar em branco" }, { "field": "selecao_automatica", "errorMessage": "O valor do campo deve estar entre 0 e 1" } ]

Já alterei todas as configurações e o resultado é sempre o mesmo e o problema não é no INSOMNIA, pois quando leio no frontend, está igual.

Deve ser alguma configuracao no pom.xml ou application.properties, so que já mudei tudo e o resultado é sempre o mesmo.

Alguém já teve esse mesmo erro???

Preciso de ajuda....

2 respostas

Olá Frederico,

Uma possível solução para esse problema é verificar a codificação utilizada em seu projeto. Verifique se tanto o arquivo messages_pt_BR.properties quanto o arquivo de configuração pom.xml e application.properties estão configurados corretamente para a codificação UTF-8.

No arquivo pom.xml, você pode adicionar a seguinte configuração:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

No arquivo application.properties, adicione a seguinte configuração:

spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true

Além disso, verifique se o seu editor de código também está configurado para utilizar a codificação UTF-8.

Caso as configurações acima não resolvam o problema, sugiro que você verifique se os arquivos de mensagens estão salvos corretamente com a codificação UTF-8. Além disso, verifique se a fonte utilizada em seu frontend também suporta caracteres acentuados.

Espero ter ajudado e bons estudos!

solução!

Oi Rodrigo,

Obrigado pela rápida resposta.

Na realidade esse problema deu um certo trabalho para resolver porque eu verifiquei todos os parâmetros que vc mencionou e eles estavam iguais, inclusive minha IDE também esta configurada para UTF-8, e mesmo assim o problema continuava ocorrendo.

Após mais pesquisas, consegui resolver, e o que acontece é que utilizo o Intellij como IDE, e ele tem uma configuração específica para arquivos com a extensão "***.properties**", que é diferente dos demais.

Depois que fiz esse ajuste adicional o problema foi resolvido.

Como não sei se esse detalhe é de conhecimento da comunidade, listo abaixo os passos para fazer essa configuração:

  1. Pressionar CTRL ALT S para abrir o arquivo de configurações
  2. Selecionar "File encondings"
  3. Procurar a seção "Properties Files (*.properties)"
  4. Selecionar "UTF-8" na caixa de seleção e marcar o check-box "Transparent native-to-ascii convertion"
  5. Clicar em <**Apply**>

Como ficar a configuração após o ajuste

Espero que essa minha dica ajude outras pessoas com a mesma dificuldade.

Abs.