登录
首页 >  Golang >  Go问答

Openapi Generator:禁用 enum Unmarshal JSON 检查生成的 Go 枚举值

来源:stackoverflow

时间:2024-02-07 16:09:19 465浏览 收藏

学习知识要善于思考,思考,再思考!今天golang学习网小编就给大家带来《Openapi Generator:禁用 enum Unmarshal JSON 检查生成的 Go 枚举值》,以下内容主要包含等知识点,如果你正在学习或准备学习Golang,就都不要错过本文啦~让我们一起来看看吧,能帮助到你就更好了!

问题内容

是否可以在生成的枚举值模型中禁用对有效值的检查?

当我有一个枚举时,会生成以下代码:

func (v *Status) UnmarshalJSON(src []byte) error {
    var value string
    err := json.Unmarshal(src, &value)
    if err != nil {
        return err
    }
    enumTypeValue := Status(value)
    for _, existing := range AllowedStatusEnumValues {
        if existing == enumTypeValue {
            *v = enumTypeValue
            return nil
        }
    }

    return fmt.Errorf("%+v is not a valid Status", value)
}

不过,我有自己的验证逻辑,因此我不想在这里抛出错误。


正确答案


我也遇到了同样的问题。当前的解决方案是使用旧的生成器版本,例如 v7.0.1,它不会生成该方法

今天关于《Openapi Generator:禁用 enum Unmarshal JSON 检查生成的 Go 枚举值》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>