【问题标题】:Rest service in SpringBoot expects a nested object in JSON from GET requestSpringBoot 中的 Rest 服务需要来自 GET 请求的 JSON 中的嵌套对象
【发布时间】:2021-12-14 22:22:55
【问题描述】:

我正在使用 SpringBoot。我有两个实体,用户和角色。我要为每个用户记录分配一个角色。

在我的实体中,我已经建立了关系,并且数据库是按照我的意愿构建的。

当我看到服务时,它会在我想保存用户时询问我的角色对象。我想要创建用户记录是否正确?或者使用@AutoWired,我可以在我的存储库类中添加 Role 实例并通过 id 搜索它吗?

你有什么推荐的?我还是 Rest 服务的新手。

例如,在调用创建用户服务时,它期望的 JSON 如下:

{ 
  "id": 1,
  "usuario": "JUANITO",
  "password": "*********",
  "correo": "algo@algo.com",
  "estado": "ACTIVO",
  "fecha": 12125368254,
  "rol": {
    "descripcion": "ADMIN",
    "estado": "ACTIVO",
    "id": 1
  }
}

我希望是这样的:

{
  "id": 1,
  "usuario": "JUANITO",
  "password": "*********",
  "correo": "algo@algo.com",
  "estado": "ACTIVO",
  "fecha": 12125368254,
  "rol": 1
}

也就是说,我不想创建一个新的角色对象,而是使用一个现有的并将它分配给我的用户记录。

【问题讨论】:

    标签: json spring-boot rest spring-data-jpa entities


    【解决方案1】:

    或者使用@AutoWired,我可以在我的存储库类中添加 Role 实例并通过 id 搜索它吗?

    不,您不能简单地在运行时动态地自动装配给定Role 的实例。如果您希望能够使用第二个 JSON,您需要获取与给定 ID 关联的 Role 实体,然后将其设置在您的 User 对象中,然后您才能使用您的存储库来保存 User

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-23
      • 1970-01-01
      • 1970-01-01
      • 2019-10-16
      • 2017-12-22
      • 2019-12-06
      • 2012-10-08
      • 1970-01-01
      相关资源
      最近更新 更多