我正在 Spring Boot 中创建一个 REST API,数据库中有以下表格:
CREATE TABLE Question
(
id SERIAL,
id_survey INT,
description VARCHAR(1000)
* Other fields *
);
CREATE TABLE QuestionChoice
(
id SERIAL,
id_question INT,
description VARCHAR(1000)
* Other fields *
);
我已经创建了各自的模型,但是我需要更灵活的东西来处理不同的操作,例如:
Question
Question
及其 QuestionChoices
Question
,而不是在 POST 中发送调用其 id
,以及缺少 QuestionChoices
字段的 id_question
列表,因为所有关系都将在调用后链接到目前为止,我一直在使用
Question
模型来完成第一个任务。对于第二个和第三个,我不知道该怎么办。
处理此类情况的最佳做法是什么?
例如
public class Question {
private Long id;
private Integer idSurvey;
private String description;
}
对于数据库和
public class QuestionRequest {
private Integer idSurvey;
private String description;
// plus choices
}
然后编写一个需要
QuestionRequest
的服务类,验证数据并创建 Question
和 QuestionChoices
并将它们保存在数据库中。
从 API 返回数据时,您可以遵循相同的想法 - 查询数据库,然后填充一些包含不同字段的
Response
对象。