详细报错
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "trainingClassStatus"
典型的 Jackson JSON 反序列化问题,具体是 UnrecognizedPropertyException。以下是问题的详细分析和解决方法:
问题分析
错误类型:UnrecognizedPropertyException
JSON 数据中包含了一个字段 trainingClassStatus,Jackson 在尝试将 JSON 数据反序列化为 Java 对象时,遇到了一个未知的字段 trainingClassStatus,而这个字段在目标类
解决方法
以下是几种可能的解决方法,你可以根据实际情况选择合适的方式:
- 添加缺失的字段
 如果 trainingClassStatus 是一个有效的字段,应该在 TrainingClass 类中添加这个字段:
public class TrainingClass {
    // 其他字段
    private String trainingClassStatus; // 添加缺失的字段
    // getter 和 setter 方法
    public String getTrainingClassStatus() {
        return trainingClassStatus;
    }
    public void setTrainingClassStatus(String trainingClassStatus) {
        this.trainingClassStatus = trainingClassStatus;
    }
}
2.忽略未知字段
如果 trainingClassStatus 是一个不必要的字段,或者你不想在 Java 类中处理它,可以在类上添加 @JsonIgnoreProperties 注解来忽略未知字段:
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@JsonIgnoreProperties(ignoreUnknown = true)
public class TrainingClass {
    // 现有的字段和方法
}
3.序列化时忽略此字段
/**
     * 获取班级状态
     *
     * @return
     */
    @JsonIgnore
    public Integer getTrainingClassStatus() {
        // 状态
        RunStatusEnum statusEnum = RunStatusEnum.getEnum(startTime, endTime);
        if (Objects.nonNull(statusEnum)) {
            return statusEnum.getStatusId();
        }
        return RunStatusEnum.HAS_ENDED.getStatusId();
    }
 
                    
                     
                    
                 
                    
                 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号