最近项目中用到了spring boot然后,在接口返回的json串中有一些字段首字母是需要大写的。在听取同事的说明之后用@JSONField注解在属性上面可以解决。

但是,无效….

OK,然后了解到事实当我们将返回类型设置为MediaType.APPLICATION_JSON之后,spring boot 会到利用RequestMappingHandlerAdapter去设置messageConverters,其实这就是springmvc里面的消息转换,而且,springboot本来就包含springmvc进去了。

具体转换过程源代码请看这篇博文

追踪到源码我们发现,他序列化json的时候,是使用的jackson的。

也就是说@JSONField不生效不是很正常的吗?

解决办法
  1. 用jackson支持的改字段名称方法

    //使用JsonProperty注解
    @JsonProperty(value = "ErrorCode")
    private String errorCode;
  2. 完美解决问题

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐