Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 在spring boot mongo存储库操作中将未知枚举值强制转换为默认枚举_Mongodb_Spring Boot - Fatal编程技术网

Mongodb 在spring boot mongo存储库操作中将未知枚举值强制转换为默认枚举

Mongodb 在spring boot mongo存储库操作中将未知枚举值强制转换为默认枚举,mongodb,spring-boot,Mongodb,Spring Boot,在使用mongo存储库时,在spring boot中将未知枚举强制转换为默认枚举时出现问题 这是枚举 public enum EventType implements Serializable { WORKDONE("WORKDONE"), ODRCOM("ODRCOM"), EXECUTED("EXECUTED"), REBOOK("REBOOK"), MANUAL("MANUAL&q

在使用mongo存储库时,在spring boot中将未知枚举强制转换为默认枚举时出现问题

这是枚举

public enum EventType implements Serializable
{
  WORKDONE("WORKDONE"),
  ODRCOM("ODRCOM"),
  EXECUTED("EXECUTED"),
  REBOOK("REBOOK"),
  MANUAL("MANUAL"),
  UNKNOWN("UNKNOWN");
  
  private String value;
  EventType(final String type) {
    this.value = type;
  }
  
  @Override
  public String toString() {
      return value;
  }
}
这是我的模型课

@JsonInclude(JsonInclude.Include.NON_NULL)
public class Event {
  
  //other properties
  
  @JsonProperty("eventType")
  private EventType eventType;
  
  @JsonIgnore
  private Map<String, Object> additionalProperties = new HashMap<String, Object>();
  
  @JsonProperty("eventType")
  public EventType getEventType() {
    return eventType;
  }
  
  
  @JsonProperty("eventType")
  public void setEventType(String eventType) {
    this.eventType = Optional.ofNullable(EventType.valueOf(eventType)).orElse(EventType.UNKNOWN);
  }
  
  //other getters and setters
  
}
请注意,REBOOK1不是有效的枚举。但是setter应该能够将任何其他内容转换为未知类型。 然而,它每次都会给出这个例外

没有枚举常量dk.nuday.ossieventprocessor.app.model.EventType.REBOOK1

我尝试过添加自定义转换器作为配置,但没有成功
非常感谢您的帮助

JsonProperty不适用于Mongodb。通常有人说,您应该为自定义类型创建Mongodb转换器,但在枚举的情况下,它对我来说从来都不起作用。
public interface EventRepository extends MongoRepository<Event, String> {
  
}
{
...
"eventType" : "REBOOK1",
...
}