有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用SpringWeb服务时转换的java枚举类型

这是对以下问题的延伸:

Spring web service request and response for mapping having list of other objects

如果问题POJO具有枚举类型,该怎么办。当发出请求并使用@RequestBody时,我如何在ajax调用中表示这一点

例如:

public class Question {

    private String questionText;

    List<Options> options;

    private QuestionTye questionType

    public String getQuestionText() {
        return questionText;
    }

    public void setQuestionText(String questionText) {
        this.questionText = questionText;
    }

    //getters and setters for options


}

Enum如下所示:

public enum QuestionType {

    MCQ, FILL_IN_THE_BLANK, QUESTION_AND_ANSWER, MATCH_THE_FOLLOWING

}

在将JSON发送到服务器时,我应该如何格式化JSON


共 (1) 个答案

  1. # 1 楼答案

    假设类补丁上有jackson API,添加一个带注释的“Create”方法。我还想在枚举中添加一个“无”选项,以避免空指针:

    public enum QuestionType {
    
        MCQ, FILL_IN_THE_BLANK, QUESTION_AND_ANSWER, MATCH_THE_FOLLOWING, NONE;
    
        @JsonCreator
        public QuestionType create(String input){
    
            QuestionType result;
            if("MCQ".equals(input)){
    
                result = MCQ;
            }
            else if(/*snip etc*/){
    
            }//etc
            else{
    
               result = NONE;//Or null or throw an exception .. whatever
            }
            return result;
        }
    }