Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring Rest数据如何更改默认格式删除“_&引用;json响应中的下划线_Java_Json_Spring_Rest_Spring Data Rest - Fatal编程技术网

Java Spring Rest数据如何更改默认格式删除“_&引用;json响应中的下划线

Java Spring Rest数据如何更改默认格式删除“_&引用;json响应中的下划线,java,json,spring,rest,spring-data-rest,Java,Json,Spring,Rest,Spring Data Rest,默认情况下,当我点击我的公开存储库时,我会得到一个JSON,如下所示: { _links: {}, _embedded: {}, //actual content page: {} //paging enabled } 有没有办法去掉默认情况下在单词links&embedded开头生成的下划线字符?嵌入的_中有嵌套的_链接,所以我猜它们都配置在同一个位置 我需要像这样的东西 { links: {}, embedded: {}, page: {}

默认情况下,当我点击我的公开存储库时,我会得到一个JSON,如下所示:

{
    _links: {}, 
    _embedded: {}, //actual content
    page: {} //paging enabled
}
有没有办法去掉默认情况下在单词links&embedded开头生成的下划线字符?嵌入的_中有嵌套的_链接,所以我猜它们都配置在同一个位置

我需要像这样的东西

{
    links: {},
    embedded: {},
    page: {}
}
我正在使用默认配置

@Import(RepositoryRestMvcConfiguration.class)

提前感谢。

因为HAL就是这样表示的(参见阿里评论中的链接),“可能不知道”(我并不声称知道SpringDataREST超过1%的功能)。。。是的,因为有一个配置属性
defaultMediaType
,您可以通过
spring.data.rest.defaultMediaType=application/json
将其设置为
application/json
,所以spring数据rest将生成该属性,而不是
application/hal+json

这不会完全满足您的需要,但也会改变其他一些事情,但可能已经足够接近了。但是当然,如果去掉一些下划线值得完全去掉hal+json,那么您应该觉得非常好


也许更好的问题是,“为什么”你想去掉下划线,但这可能更多的是讨论而不是问题

您不应该这样做,现在您处于rest级别3(HAL/HATEOAS),这是一件好事。如果你知道如何使用它,这有很多好处

您可以通过将
spring hateoas
spring data rest-core
中排除而进入第2级,但我不推荐这样做


HAL的正式规范:

参见HAL-超文本应用程序语言它似乎不允许定制,并且对于这两个元素来说uu不是可选的……请看一下这里提到的媒体类型。公平点。“为什么”是因为我使用的是一个专有框架,在定义对象时不允许uu作为属性名,以便能够直接进行映射。尽管您的建议是适用的。它没有从json响应中删除u,至少在2.4.4.Release中是这样。我只是在一个简单的演示应用程序中尝试了它,我在application.properties中配置的唯一一件事就是那一行
spring.data.rest.defaultMediaType=application/json
,我得到的名称像
“links”
(而不是
“links”
),
“content”
(而不是
“_embedded”
)。所以对我来说很有效,确定你没有其他设置吗?我没有使用spring boot。你是吗?Mine是一个现有的MVCWebSpring项目,后来用SpringDataREST丰富了该项目。我根据文档使用@Component CustomizedRestMvcConfiguration来执行您建议的设置,而不是.properties。让我们把它标记为已回答,我相信你;)我的错,我假设是弹簧靴。当然,如果没有Spring引导,您将不得不更加手动地进行配置。。。所以我唯一能说的是,对于Spring Boot,它是这样工作的,对不起;-)