我有一个与MongoRepository关联的Mcq类,我想得到一个我的Mcq实例,它应用了几个更改(Answers shuffle,Question draw等)。我声明了我的函数" myMcq.getInstance()",但我不能这样做,因为每次我想在ResponseEntity中发送一个Mcq时,JSON输出中都有一个错误,因为Springboot认为有一个"实例"我班上的财产。
这是我的java类:
@Document(collection = "Mcqs")
public class Mcq {
@Id public String id;
@DBRef public User creator;
public String title;
public String categoryID;
public List<McqChapter> chapterList = new ArrayList<>();
public Difficulty difficulty;
public Mcq() {}
public Mcq(String title) {
this();
this.title = title;
}
public ArrayList<String> getQuestionsIDs() {
ArrayList<String> result = new ArrayList<>();
for (McqChapter chapter : chapterList) result.addAll(chapter.getQuestionIDs());
return result;
}
public McqInstance getInstance() {
return new McqInstance(this);
}
}
答案 0 :(得分:0)
为防止错误,请将@JsonIgnore添加到getInstance()
方法:
@JsonIgnore
public McqInstance getInstance() {
return new McqInstance(this);
}
标记注释,指示基于内省的序列化和反序列化功能将忽略带注释的方法或字段。也就是说,它不应该被认为是“吸气者”,“设定者”或“创造者”。