Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Configuring own MappingJackson2HttpMessageConverter in Jira plugin

Subhajit Bhuiya July 20, 2018

MappingJackson2HttpMessageConverter is getting mixed up with different version of jackson and works sometime and does not work sometime. I want to specify which Object mapper to use.

 

I have updated atlassian-plugin.xml with

<mvc:message-converters>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper">
<bean class="com.fasterxml.jackson.databind.ObjectMapper" />
</property>
</bean>
</mvc:message-converters>

 

but got error.

 

Then I write my own class

package com.persistent.jira.rest;

import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;

import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;

@Configuration
public class WebConfig extends WebMvcConfigurationSupport {
private static final Logger log = LoggerFactory.getLogger(WebMvcConfigurationSupport.class);
@bean
public MappingJackson2HttpMessageConverter customJackson2HttpMessageConverter() {
MappingJackson2HttpMessageConverter jsonConverter = new MappingJackson2HttpMessageConverter();
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
jsonConverter.setObjectMapper(objectMapper);
return jsonConverter;
}

@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {

log.error("COnfiguring JASON COnverter");

for(HttpMessageConverter converter: converters){
log.error(converter.toString());
}
converters.add(customJackson2HttpMessageConverter());
super.configureMessageConverters(converters);
}
}

Still it is not taking the version of the xml. How can I tell MappingJackson2HttpMessageConverter to use fasterxml

 But still it is using org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject

 

I am having this dependency at the begining of my pom.xml

 

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.6</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>2.9.6</version>
</dependency>

1 answer

1 accepted

0 votes
Answer accepted
Subhajit Bhuiya July 23, 2018

I am able to resolve the issue by parsing the JSON by myself

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events