我可以在函数前加上" get"在Springboot

时间:2017-07-25 11:47:11

标签: java json spring-boot serialization repository

我有一个与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);
    }
}

1 个答案:

答案 0 :(得分:0)

为防止错误,请将@JsonIgnore添加到getInstance()方法:

@JsonIgnore 
public McqInstance getInstance() {
    return new McqInstance(this);
}
  

标记注释,指示基于内省的序列化和反序列化功能将忽略带注释的方法或字段。也就是说,它不应该被认为是“吸气者”,“设定者”或“创造者”。