解决JSONField、JsonProperty不生效的问题

 更新时间:2025年06月10日 12:03:45   作者:FLGB  
这篇文章主要介绍了解决JSONField、JsonProperty不生效的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

JSONField、JsonProperty不生效

  @JSONField(name = "env_version")
    private String envVersion;

问题

openfeign请求接口一直获取的是线上的小程序码,无法获取到develop环境的小程序码

排查

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请求日志

发现用JSONField标记字段发现没有转成对应的env_version,导致openfeign请求结果一直响应的是默认值

3、分析问题

JSONField是alibaba fastjson包中的注解,而openfeign底层使用的是jackson,导致不能识别JSONField注解。改成jackson 的JsonProperty的注解即可

 	@JsonProperty("env_version")
    private String envVersion;

总结

对于json注解的使用,要相互对号,用哪个json的注解,就要用对应的json序列化。

有些接口很容易发现问题,但是对于一些有驼峰和_命名的字段接口,而且_的字段如果没有值,还给了默认值,导致调用接口还是成功。等到上线后发现字段值不生效,只能一直返回默认值就尴尬了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot集成Swagger2生成接口文档的方法示例

    SpringBoot集成Swagger2生成接口文档的方法示例

    我们提供Restful接口的时候,API文档是尤为的重要,它承载着对接口的定义,描述等,本文主要介绍了SpringBoot集成Swagger2生成接口文档的方法示例,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • Java AQS中ReentrantLock条件锁的使用

    Java AQS中ReentrantLock条件锁的使用

    ReentrantLock继承了Lock接口, lock方法实际上是调用了Sync的子类NonfairSync(非公平锁)的lock方法。ReentrantLock的真正实现在他的两个内部类NonfairSync和FairSync中,默认实现是非公平锁
    2023-02-02
  • SpringBoot使用Redis的zset统计在线用户信息

    SpringBoot使用Redis的zset统计在线用户信息

    这篇文章主要介绍了SpringBoot使用Redis的zset统计在线用户信息,帮助大家更好的理解和学习使用SpringBoot框架,感兴趣的朋友可以了解下
    2021-04-04
  • 使用spring的restTemplate注意点

    使用spring的restTemplate注意点

    这篇文章主要介绍了使用spring的restTemplate注意点,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • IntelliJ IDEA 设置数据库连接全局共享的步骤

    IntelliJ IDEA 设置数据库连接全局共享的步骤

    在日常的软件开发工作中,我们经常会遇到需要在多个项目之间共享同一个数据库连接的情况,默认情况下,IntelliJ IDEA 中的数据库连接配置是针对每个项目单独存储的,幸运的是,IntelliJ IDEA 提供了一种方法来将数据库连接配置设置为全局共享,从而简化这一过程
    2024-10-10
  • Spring Boot之Validation自定义实现方式的总结

    Spring Boot之Validation自定义实现方式的总结

    这篇文章主要介绍了Spring Boot之Validation自定义实现方式的总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • Java解析变量公式的简单示例

    Java解析变量公式的简单示例

    在Java编程中,经常会遇到需要解析表达式或公式的情况,特别是涉及到动态计算或配置项的场景,在本篇文章中,我将介绍如何在Java中解析变量公式,并给出一个简单的实现示例,需要的朋友可以参考下
    2024-10-10
  • Java并发编程 interrupt()方法示例详解

    Java并发编程 interrupt()方法示例详解

    interrrupt()方法可以用来打断正在运行的线程,也可以打断sleep()、wait()、join()情况下的线程,但是这些情况下被打断线程的打断标记不同,这篇文章主要介绍了Java并发编程 interrupt()方法示例详解,需要的朋友可以参考下
    2023-06-06
  • Java.SE数组的一些常见练习题

    Java.SE数组的一些常见练习题

    数组可以看成是相同类型元素的一个集合,在内存中是一段连续的空间,这篇文章主要给大家介绍了关于Java.SE数组的一些常见练习题,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • log4j2的异步使用及添加自定义参数方式

    log4j2的异步使用及添加自定义参数方式

    这篇文章主要介绍了log4j2的异步使用及添加自定义参数方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12

最新评论