如何在执行实体的CREATE操作时将实体关联放入JSON(在POST HTTP请求内)具有另一个实体的关联?

问题描述 投票:-1回答:1

我使用Spring Boot作为我的后端框架,我有一个PERSON实体,它与GENDER实体有一对一的关系。我使用@RepositoryRestResourcePersonRepositoryGenderRepository

GENDER表已经填写了MALE和FEMALE的两个记录,我有一个有角度的形式,创造了一个新的PERSON。

有角度的形式,有一个性别列表,其中有两个项目来自GenderRepository(男/女)。如何将genderId放在POST Request主体的JSON中以创建新的Person

我看到大多数人使用text / uri-list更新现有记录,但我想在创建不更新时设置它。

spring-boot spring-data-rest
1个回答
1
投票

您可以通过提供性别实体的链接来实现。

人物实体


@Entity
public class Person {
    @Id
    @GeneratedValue
    private Long id;

    @OneToOne
    private Gender gender;

    //Other columns and getter/setters are removed for brevity
}

性别实体

@Entity
public class Gender {
    @Id
    @GeneratedValue
    private Long id;

    @Column
    private String gender;
}

以下对localhost的POST请求:8080 / api /将Content-Type标头设置为application/json的人创建一个新的Person实体,并将其性别设置为id为1的Gender。

{
    "name": "Mahsum",
    "surname": "Demir",
    "gender": "http://localhost:8080/api/genders/1"
}
© www.soinside.com 2019 - 2024. All rights reserved.