Spring Rest Data 如何更改默认格式从 json 响应中删除“_”下划线

Spring Rest Data how to change default format removing "_" underscore from json response

默认情况下,当我点击我公开的存储库时,我得到一个 JSON 看起来像这样的:

{
    _links: {}, 
    _embedded: {}, //actual content
    page: {} //paging enabled
}

有什么方法可以去掉links & embedded 单词开头默认生成的下划线字符吗? _embedded 中有 _links 的嵌套外观,所以我猜它们都配置在同一个地方。

我需要这样的东西

{
    links: {},
    embedded: {},
    page: {}
}

我正在使用默认配置

@Import(RepositoryRestMvcConfiguration.class)

提前致谢。

因为这就是 HAL 表示它的方式(请参阅 Ali 评论中的 Link),"probably no"(我不声称知道 Spring Data Rest 的超过 1%能力)...是的,因为有一个配置 属性 defaultMediaType ,您可以通过 spring.data.rest.defaultMediaType=application/json 将其设置为 application/json ,所以您的 Spring 数据休息将产生而不是 application/hal+json

这不会完全按照您的要求进行,但也会更改其他一些内容,但可能已经足够接近了。但是,当然,如果去掉一些下划线值得完全去掉 hal+json,你应该觉得很好。

也许更好的问题是,"why" 你想去掉下划线,但这可能更多的是讨论而不是问题。

您不应该这样做,现在您处于休息级别 3 (HAL/HATEOAS),这是一件好事。如果您知道如何使用它,这将有很多好处。 http://martinfowler.com/articles/richardsonMaturityModel.html#level3

你总是可以通过从 spring-data-rest-core 中排除 spring-hateoas 来进入 2 级,但我不推荐它。

HAL 的正式规范:https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-07