【问题标题】:SpringBoot RestController not recognizing spring.jackson.property-naming-strategy propertySpring Boot Rest Controller 无法识别 spring.jackson.property-naming-strategy 属性
【发布时间】:2021-08-28 17:12:25
【问题描述】:

我有一个 SpringBoot (2.5.x) RestController,它返回列表,并希望强制 JSON 表示对属性使用特定的命名约定。我已经尝试了 application.properties 中的 spring.jackson.property-naming-strategy 属性,但它似乎没有效果。还尝试了自定义 MappingJackson2HttpMessageConverter,在 Autowired objectMapper 上使用 setPropertyNamingStrategy,并在控制器类中使用 @JsonNaming 注解。

关于我做错了什么有什么想法吗?

谢谢!

--约翰

【问题讨论】:

  • 你能显示你想得到什么 json 吗?还有你的课程,我认为在 github 中放置一个复制器是最好的:)

标签: json spring spring-boot rest jackson


【解决方案1】:

把这个放在课堂上

@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)

但是已经过时了

同时它仍然可用

不知道为什么

我的弹簧靴 2.5.4

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
【解决方案2】:

这就是我最终做的:

    import com.fasterxml.jackson.annotation.JsonInclude
    import com.fasterxml.jackson.annotation.JsonInclude.Include
    import com.fasterxml.jackson.databind.PropertyNamingStrategies
    import com.fasterxml.jackson.databind.annotation.JsonNaming
    
    @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
    @JsonInclude(Include.NON_NULL)
    class Facility {
        String facility
        String facilityCode
        Integer sampleCount
    }

【讨论】:

    猜你喜欢
    • 2022-06-28
    • 1970-01-01
    • 2020-12-30
    • 2021-09-07
    • 1970-01-01
    • 2018-09-29
    • 1970-01-01
    • 2015-09-25
    相关资源
    最近更新 更多