Stringboot 引入jackson-dataformat-xml 报错 返回格式被改变返回 返回json变为变为返回xml
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.12.2</version>
</dependency>
启动提示
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.core.TSFBuilder
其实是我们在引入jackson 包的时候 jackson本身 的依赖没有引入全面需要添加下面几个包
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.12.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.12.2</version>
</dependency>
引入结束后 发现可以正常启动 不报错了
但是发现返回json 格式被改变了 变成了xml
这时候 需要在我们的项目里面添加一个配置文件
package com.ynws.zb.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import org.springframework.scheduling.concurrent.ConcurrentTaskExecutor;
import org.springframework.web.servlet.config.annotation.*;
import java.util.concurrent.Executors;
@Configuration
public class WebConfiguration extends WebMvcConfigurationSupport {
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.defaultContentType(MediaType.APPLICATION_JSON);
}
}
添加结束之后 项目会只返回json
因为本人项目不需要返回xml
jackson只是用来接收第三方平台的数据 所以只添加了一个json下面的这一行代码控制了返回的格式
configurer.defaultContentType(MediaType.APPLICATION_JSON);