Feign返回值与接收值是驼峰命名不匹配
以下配置就可以了
spring:
jackson:
jackson:
default-property-inclusion: non_null
property-naming-strategy: "CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES" # 设置返回json属性格式
@Configuration
public class RestTemplateConfig {
@Bean
public RestTemplate restTemplate(ClientHttpRequestFactory factory){
return new RestTemplate(factory);
}
@Bean
public ClientHttpRequestFactory simpleClientHttpRequestFactory(){
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setConnectTimeout(15000);
factory.setReadTimeout(5000);
return factory;
}
@Bean
public AreaUtils areaUtils(){
return new AreaUtils();
}
@Bean
public Decoder decoder(){
return new ResponseEntityDecoder(new SpringDecoder(feignHttpMessageConverter()));
}
@Bean
public ObjectFactory<HttpMessageConverters> feignHttpMessageConverter(){
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
HttpMessageConverters httpMessageConverters=new HttpMessageConverters
(new MappingJackson2HttpMessageConverter(objectMapper));
return ()->httpMessageConverters;
}
@Bean
@ConditionalOnMissingBean
public HttpMessageConverters messageConverters(ObjectProvider<HttpMessageConverter<?>> converters) {
return new HttpMessageConverters(converters.orderedStream().collect(Collectors.toList()));
}
}