Java 如何在Spring数据Rest中隐藏_嵌入式实体字段

Java 如何在Spring数据Rest中隐藏_嵌入式实体字段,java,spring,spring-boot,spring-data-rest,spring-boot-gradle-plugin,Java,Spring,Spring Boot,Spring Data Rest,Spring Boot Gradle Plugin,我运行基于的SDR应用程序。我最近从升级到。虽然无法100%确定这正是原因所在,但SDR现在似乎为每个资源公开了一个额外的\u嵌入的字段。新字段包含相关实体的数据 例如,这是一个公开了以下内容的资源: 与以下内容公开的相同资源: 在没有证据的情况下,我假设以下缺点: 它大大增加了响应大小。我可以理解,在某些用例中需要这些额外的数据,但是,在这种情况下,我更喜欢根据需要手工将其公开 为了收集额外公开的数据,需要额外的数据库事务,这会对性能产生负面影响 默认情况下会公开更多的公共API,用户必须维护

我运行基于的SDR应用程序。我最近从升级到。虽然无法100%确定这正是原因所在,但SDR现在似乎为每个资源公开了一个额外的
\u嵌入的
字段。新字段包含相关实体的数据

例如,这是一个公开了以下内容的资源:

与以下内容公开的相同资源:

在没有证据的情况下,我假设以下缺点:

  • 它大大增加了响应大小。我可以理解,在某些用例中需要这些额外的数据,但是,在这种情况下,我更喜欢根据需要手工将其公开
  • 为了收集额外公开的数据,需要额外的数据库事务,这会对性能产生负面影响
  • 默认情况下会公开更多的公共API,用户必须维护这些API。同样,如果可能的话,我更愿意使用,以尽量减少响应
  • 以下是我的问题:

  • 是否可以恢复以前的API格式,例如自定义新功能或完全关闭新功能
  • 我想知道这个设计的目的是什么。鉴于上述假定的缺点,新功能有哪些优点
    结果是。版本包含修复程序,可恢复正常行为。

    请同时包含user和userRepository类。您的问题是否与几周前的问题相同,并且为其创建了错误报告?我无法发布
    user
    userRepository
    ,因为它们不存在。我发布了一些示例数据来指出这个问题。我曾想过制作并发布缺失的课程,但我认为这不再是必要的,因为@AlanHay已经想出了一个很好的方向。@AlanHay,请发布一个带有JIRA罚单链接的答案,这样我就可以接受了,或者我们也可以将这个问题作为一个副本来结束。
    {
      "uuid": "77315176-cb4f-4126-8e8b-9007457a7ce1",
      "name": "root",
      "_links": {
        "self": {
          "href": "localhost/users/1"
        },
        "user": {
          "href": "localhost/users/1"
        },
        "group": {
          "href": "localhost/users/1/group"
        }
      }
    }
    
    {
      "uuid": "77315176-cb4f-4126-8e8b-9007457a7ce1",
      "name": "root",
      "_embedded": {
        "group": {
          "uuid": "be43382c-7b03-4d28-9597-7284986f700b",
          "name": "admin"
        }
      },
      "_links": {
        "self": {
          "href": "localhost/users/1"
        },
        "user": {
          "href": "localhost/users/1"
        },
        "group": {
          "href": "localhost/users/1/group"
        }
      }
    }