添加webConfigurer类
类中实现WebMvcConfigurer接口中的extendMessageConverters接口
1、初始化一个Jackson2Http消息转换器类(MappingJackson2HttpMessageConverter)
2、初始化一个ObjectMapper对象
3、将objectMapper赋值到mappingJackson2HttpMessageConverter中的ObjectMapper中,如果要自定义格式,可以先使用ObjectMapper.setDateFormat方法,自定义日期格式
4、设置中文编码,初始化一个MediaType列表List<MediaType> list = new ArrayList<>()
5、list.add(MediaType.APPLICATION_JSON_UTF8)
6、mappingJave2HttpMessageConverter.setSupportedMediatypes(list)
7、converters.add(mappingJave2HttpMessageConverter)
具体代码如下:
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.util.ArrayList;
import java.util.List;
/**
* Can not deserialize value of type java.util.Date from String异常解决办法
* @program: ld-zkzx-web
* @description
* @author: ZhangXu
* @create: 2020-03-21 14:28
**/
@Component
public class WebConfigurer implements WebMvcConfigurer {
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
//设置日期格式
ObjectMapper objectMapper = new ObjectMapper();
/*SimpleDateFormat smt = new SimpleDateFormat("yyyy-MM-dd");
objectMapper.setDateFormat(smt);*/
mappingJackson2HttpMessageConverter.setObjectMapper(objectMapper);
//设置中文编码格式
List<MediaType> list = new ArrayList<MediaType>();
list.add(MediaType.APPLICATION_JSON_UTF8);
mappingJackson2HttpMessageConverter.setSupportedMediaTypes(list);
converters.add(mappingJackson2HttpMessageConverter);
}
}
来源:oschina
链接:https://my.oschina.net/u/3358860/blog/3208917
