在路由参数或路径参数Micronaut应用程序中使用Java Enums的有效方法是什么

问题描述

我有以下 Pojo

@Introspected
public record ProductMultipleOptionviewmodel(
        ProductOptionviewmodel productOption,String optionName

) {
}

productOption 是 Java 枚举

@Introspected
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum ProductOptionviewmodel {
    SIZE,COLOR,MATERIAL,STYLE,TITLE
}

主要产品 Pojo 包含以下属性

@Introspected
public record Productviewmodel
        (
 List<ProductMultipleOptionviewmodel> productMultipleOption,// other properties ...
){}

现在当我使用带有以下命令的 CURL 时

curl -X POST "http://localhost:8080/api/v1/product" -H  "accept: application/json" -H  "Content-Type: multipart/form-data" -F "id=" -F "productMultipleOption={
  "optionName": "sssss","productOption": "SIZE"
}" -F "files=@bird.png;type=image/png"

获取枚举异常

"message": "Failed to convert argument [model] for value [null] due to: Argument count [1] doesn't match required argument count: 2 (through reference chain: view.model.product.Productviewmodel[\"productMultipleOption\"]->java.lang.Object[0])",

在 Micronaut 中使用 Enum 的最佳方法是请求参数或路径变量

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)