解決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如何讀取application.properties配置文件
這篇文章主要介紹了SpringBoot如何讀取application.properties配置文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05

