go-gin 如何翻译 maxLength/minLength

问题描述 投票:0回答:1

我有一个简单的模式对象 SerialNumber 定义为:

SerialNumber:
      type: object
      description: |
            A serial number of an entity. This is a basic string but with length limitations. Hence a separate type to uniquely
            identify such entities.
      properties:
       serial:
        type: string
        minLength: 5
        maxLength: 128
      required: [serial]
        type: string
        minLength: 5
        maxLength: 128
      required: [serial]
```

我使用 openapi-generator 将其转换为 go-gin 的 goalng,生成的对象是:

类型序列号结构体{

    Serial string `json:"serial"`

}

想知道 maxLength 和 minLenght 规范发生了什么? 我如何知道生成的 golang 端 SerialNumber 的 maxLength/minLength 是多少?我期望 json 标签具有 maxLength/minLength 属性。

我做错了什么?

go swagger openapi go-gin
1个回答
0
投票

当您使用 OpenAPI 生成器将 OpenAPI 模式转换为 Go 结构体时,它通常会生成基本的结构体定义,并且不会自动在结构体标记中包含 maxLength 和 minLength 等验证约束。相反,您必须手动实现这些验证或使用支持这些功能的验证库。 安装验证器包: 去获取 github.com/go-playground/validator/v10

© www.soinside.com 2019 - 2024. All rights reserved.