SpringCloud Feign Jackson自定义配置的方法


今天小编给大家分享一下SpringCloudFeignJackson自定义配置的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Spring Cloud Feign 默认支持Spring MVC的注解 使用相同的HttpMessageConverters类转换官方文档说明:Spring Cloud adds support for Spring MVC annotations and for using the same HttpMessageConverters used by default in Spring Web.但是我们一般在返回给前端JSON格式的时候 都会把相应的 NULL值转为相应的””,这使得Spring Cloud Feign也使用相同的Jackson配置,例如我们项目的配置在服务通过Feign进行请求的时候,传NULL值引用类型值时,会出现类型转换异常,由于HttpMessageConverters直接把NULL转为了””。自定义配置 Spring Cloud Feign Encoder与Decoder官方文档说明:Spring Cloud Netflix provides the following beans by default for feign (BeanType beanName: ClassName):Decoder feignDecoder: ResponseEntityDecoder (which wraps a SpringDecoder)Encoder feignEncoder: SpringEncoderLogger feignLogger: Slf4jLoggerContract feignContract: SpringMvcContractFeign.Builder feignBuilder: HystrixFeign.BuilderClient feignClient: if Ribbon is enabled it is a LoadBalancerFeignClient, otherwise the default feign client is used.统一配置Feign 的Encoder和Decoder的Jackson转换方式如果配置DeserializationFeature.ACCEPT_EMPTY_STRING_AS_N免费云主机域名ULL_OBJECT 不起作用可以试试这种方式nacos: 1.3.1启动nacoscd /usr/local/nacos/binsh startup.sh -m standalone1)添加依赖加入nacos-discovery发现服务的依赖、web、actuator用于监控检查,添加openfeign依赖才能使用Feign功能2)修改配置文件配置nacos注册中心地址,因为不提供服务,所以不需要再注册中心注册因此register-enabled=false3)添加Feign支持配置FeignConfiguration类文件Spring Cloud Netflix默认的SpringMvcController将替换为feign.Contract.Default用feign.Contract.Default将契约改为Feign原生的默认契约,就可以使用feign自带的注解了4)自定义Feign接口Feign接口文件需和启动类再同一包目录下,使用@FeignClient注解配置所需要调用服务,此处nacos-provider是需要在注册中心提供服务因为上面配置了feign.Contract.Deafault,所以在接口中可以使用Feign原生的注解@RequestLine添加HelloController类文件此处使用接口MyFeignClient调用hello方法获取到nacos-provider客户端提供的服务1)添加配置项在配置文件中添加记录日志的包,* 而每个FeignClient都需要单独配置,它只能响应debug级别的日志2)设置日志等级在FeignConfiguration类文件中配置日志等级日志等级:NONE:不记录(默认)BASIC:只记录请求方法、URL、响应状态码和执行时间HEADERS:记录基本信息,请求和响应标题FULL: 记录请求和响应标题、正文和行数据启动nacos-provider、feign-config客户端,进入nacos查询nacos-provider服务是否注册进入浏览器端键入地址http://localhost:2334/hello,就能访问到nacos-provider提供的服务内容控制台会输出如下信息[MyFeignClient#hello] 2020-08-13 16:16:23.021 DEBUG 3680 — [nio-2334-exec-1] com.kk.feign.MyFeignClient : [MyFeignClient#hello] content-length: 16
2020-08-13 16:16:23.021 DEBUG 3680 — [nio-2334-exec-1] com.kk.feign.MyFeignClient : [MyFeignClient#hello] content-type: text/plain;charset=UTF-8
2020-08-13 16:16:23.021 DEBUG 3680 — [nio-2334-exec-1] com.kk.feign.MyFeignClient : [MyFeignClient#hello] date: Thu, 13 Aug 2020 08:16:23 GMT
2020-08-13 16:16:23.021 DEBUG 3680 — [nio-2334-exec-1] com.kk.feign.MyFeignClient : [MyFeignClient#hello]
2020-08-13 16:16:23.021 DEBUG 3680 — [nio-2334-exec-1] com.kk.feign.MyFeignClient : [MyFeignClient#hello] Hello Gateway A!
2020-08-13 16:16:23.021 DEBUG 3680 — [nio-2334-exec-1] com.kk.feign.MyFeignClient : [MyFeignClient#hello] 以上就是“SpringCloudFeignJackson自定义配置的方法”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注百云主机行业资讯频道。

相关推荐: html入门级标签有哪些

这篇“html入门级标签有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“html入门级标签有哪些”文章吧。   1、移动字体(走马灯):  …

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 02/28 10:24
Next 02/28 10:24

相关推荐