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
默认情况下,当我点击我公开的存储库时,我得到一个 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