Resolvendo problemas de configuração do SpringMVC

Spread the love

Salve, salve pessoal se você está trabalhando com Spring MVC e se deparou com a exception org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation este artigo visa ajudar a resolver este problema.
Isso se deve ao fato do HttpMessageConverter não estar configurado ou configurado com erros. A solução é editar sua classe de configurações WebMvcConfig adicionando dois converters ResourceHttpMessageConverter e MappingJackson2HttpMessageConverter. Isso é bastante simples e basta que você adicione o trecho de código abaixo:


    @Override
    public void configureMessageConverters(List<httpmessageconverter<?>&gt; converters) {
    	converters.add(converterResourceHttpMessageConverter());
        converters.add(converterJackson2Http());
        super.configureMessageConverters(converters);
    }

    @Bean
    public MappingJackson2HttpMessageConverter converterJackson2Http() {
    	MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
    	//do your customizations here...
    	return converter;
    }

    @Bean
    public ResourceHttpMessageConverter converterResourceHttpMessageConverter() {
    	ResourceHttpMessageConverter converter = new ResourceHttpMessageConverter();
    	//do your customizations here...
    	return converter;
    }

Bom mas pode ser que você se depare ainda com a exception java.lang.ClassNotFoundException: org.codehaus.jackson.JsonProcessingException. E a solução também é simples, certifique se de que as dependências jackson-core-asl, jackson-mapper-asl e jackson-jaxrs-xml-provider estejam adicionadas ao projeto, caso não estejam adicionem. Para quem usa Maven eu vou facilitar ainda mais as coisas, basta adicionar esse trecho de código ao seu pom.xml e ser feliz, para os demais é só sair catando jar na pata.


	<dependency>
		<groupid>org.codehaus.jackson</groupid>
		<artifactid>jackson-core-asl</artifactid>
		<version>XYZ</version>
	</dependency>
	<dependency>
		<groupid>org.codehaus.jackson</groupid>
		<artifactid>jackson-mapper-asl</artifactid>
		<version>XYZ</version>
	</dependency>
	<dependency>
		<groupid>com.fasterxml.jackson.jaxrs</groupid>
		<artifactid>jackson-jaxrs-xml-provider</artifactid>
		<version>XYZ</version>
	</dependency>

Feito isto é só inicializar novamente o projeto que as coisas irão funcionar.

Treinamentos relacionados com este post














Leandro

Leandro da Costa é especialista em inteligência artificial on-premise e desenvolvedor de software desde 2010, com mais de 15 anos de experiência em projetos nacionais e internacionais para empresas como Thomson Reuters, Unilever, PagSeguro e Hub Fintech, além de órgãos como CNPq, Ministério da Saúde e Ministério da Justiça. Trabalho com Java, Python, Kotlin, JavaScript, microsserviços, cloud (AWS, Azure, GCP) e Docker/Kubernetes — sempre em times ágeis, muitas vezes distribuídos globalmente. Já enfrentei desafios reais de escalabilidade e performance, como a modernização do sistema de análise de crédito do PagSeguro, onde reduzi o tempo de resposta de mais de 1 minuto para menos de 15 segundos. Sou Instrutor Parceiro na Udemy desde 2021 — reconhecimento concedido aos 200 melhores instrutores do mundo — com mais de 65.000 alunos em 136 países. Minha missão é compartilhar conhecimento validado na prática, ajudando desenvolvedores a acelerar suas carreiras e conquistar melhores oportunidades. Fora do teclado, gosto bastante de viajar além de esportes de aventura: rapel, tirolesa e trilhas. Apreciador de cervejas, fã de Rock'n Roll, ficção científica e geopolítica. Atualmente atuo como consultor na Erudio Training.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *