解決JSONField、JsonProperty不生效的問題
JSONField、JsonProperty不生效
@JSONField(name = "env_version") private String envVersion;
問題
openfeign請求接口一直獲取的是線上的小程序碼,無法獲取到develop環(huán)境的小程序碼
排查
1、打開openfeign debug日志
#level后面是自己feign接口的包名,另外還需要添加feign的日志配置類 logging.level.com.lf.feign: debug
#feign的日志配置類 @Configuration public class OpenFeignConfiguration { @Bean public Logger.Level level() { return Logger.Level.FULL; } }
2、查看openfeign請求日志
發(fā)現用JSONField標記字段發(fā)現沒有轉成對應的env_version,導致openfeign請求結果一直響應的是默認值
3、分析問題
JSONField是alibaba fastjson包中的注解,而openfeign底層使用的是jackson,導致不能識別JSONField注解。改成jackson 的JsonProperty的注解即可
@JsonProperty("env_version") private String envVersion;
總結
對于json注解的使用,要相互對號,用哪個json的注解,就要用對應的json序列化。
有些接口很容易發(fā)現問題,但是對于一些有駝峰和_命名的字段接口,而且_的字段如果沒有值,還給了默認值,導致調用接口還是成功。等到上線后發(fā)現字段值不生效,只能一直返回默認值就尷尬了。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
SpringBoot集成Swagger2生成接口文檔的方法示例
我們提供Restful接口的時候,API文檔是尤為的重要,它承載著對接口的定義,描述等,本文主要介紹了SpringBoot集成Swagger2生成接口文檔的方法示例,需要的朋友們下面隨著小編來一起學習學習吧2018-12-12SpringBoot使用Redis的zset統計在線用戶信息
這篇文章主要介紹了SpringBoot使用Redis的zset統計在線用戶信息,幫助大家更好的理解和學習使用SpringBoot框架,感興趣的朋友可以了解下2021-04-04Spring?Boot之Validation自定義實現方式的總結
這篇文章主要介紹了Spring?Boot之Validation自定義實現方式的總結,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07Java并發(fā)編程 interrupt()方法示例詳解
interrrupt()方法可以用來打斷正在運行的線程,也可以打斷sleep()、wait()、join()情況下的線程,但是這些情況下被打斷線程的打斷標記不同,這篇文章主要介紹了Java并發(fā)編程 interrupt()方法示例詳解,需要的朋友可以參考下2023-06-06