Uma das formas mais
eficientes de tratar a questão de caracteres estranhos e setar o encoding UTF-8
é através de um Filtro que
intercepta a requisição ao servidor e antes de qualquer coisa atribui o
encoding na request, e faz o mesmo
com o response. O Spring Boot tem um filter para isso e basta usarmos esse filter para garantir que a nossa aplicação irá tratar corretamente
os dados.
Ao criar um projeto usando o Spring Boot duas classes são criadas, uma o o nome ServletInitializer.java e outra com o nome-da-aplicaçãoApplication.java. Esta
segunda classe, se o nome da minha aplicação fosse teste, seu nome seria então TesteApplication.java,
que é o que vamos considerar para o exemplo.
Esta classe é responsável por configurações do projeto antes
feitas no arquivo web.xml, de forma
que declarações de filtros, servlets e
listeners são declarados nela.
No momento da criação do projeto, ele é muito simples, veja
o código:
@SpringBootApplication
public class CobrancaApplication {
public static void main(String[] args) {
SpringApplication.run(CobrancaApplication.class, args);
}
}
O que precisa ser
feito é adicionar o seguinte trecho de código:
@Bean
public Filter getCharacterEncodingFilter() {
CharacterEncodingFilter encodingFilter = new encodingFilter();
encodingFilter.setEncoding("UTF-8");
encodingFilter.setForceEncoding(true);
return encodingFilter;
}
Os pacotes relacionados
a esse trecho de código são:
import javax.servlet.Filter;
import org.springframework.context.annotation.Bean;
import org.springframework.web.filter.CharacterEncodingFilter;
Pronto! Dessa
forma sua aplicação com o Spring Boot está livre dos caracteres
estranhos...
Nenhum comentário:
Postar um comentário