我有一个简单的模式对象 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 属性。
我做错了什么?
当您使用 OpenAPI 生成器将 OpenAPI 模式转换为 Go 结构体时,它通常会生成基本的结构体定义,并且不会自动在结构体标记中包含 maxLength 和 minLength 等验证约束。相反,您必须手动实现这些验证或使用支持这些功能的验证库。 安装验证器包: 去获取 github.com/go-playground/validator/v10