这将是以下问题的延伸:
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
}
枚举如下所示:
public enum QuestionType {
MCQ, FILL_IN_THE_BLANK, QUESTION_AND_ANSWER, MATCH_THE_FOLLOWING
}
将 JSON 发送到服务器时应如何格式化它?
最佳答案
假设您的类补丁上有 jackson API,请添加带注释的“Create”方法。我还喜欢在枚举中添加“None”选项以避免空指针:
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;
}
}
关于java - 使用 Spring Web 服务时的 Enum 类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22240043/