ZBLOG

将 openapi 的字段校验规则,与 golang validator 做一个映射,并枚举出代码。

OpenAPI的字段校验规则可以通过JSON Schema来定义,而golang validator包提供了一种方便的方式来应用这些规则。以下是一些常见的OpenAPI规则和它们对应的golang validator函数。

  1. required

该规则要求一个字段必须存在且不能为空。

对应的validator函数是Required(),例如:

type User struct {
    Name string `json:"name" validate:"required"`
}
  1. minLength / maxLength

该规则要求一个字符串类型的字段的长度必须在指定范围内。

对应的validator函数是MinLength()和MaxLength(),例如:

type User struct {
    Name string `json:"name" validate:"min=2,max=20"`
}
  1. minimum / maximum

该规则要求一个数字类型的字段的值必须在指定范围内。

对应的validator函数是Min()和Max(),例如:

type User struct {
    Age int `json:"age" validate:"min=18,max=99"`
}
  1. pattern

该规则要求一个字符串类型的字段必须符合指定正则表达式。

对应的validator函数是Regexp(),例如:

type User struct {
    Email string `json:"email" validate:"regexp=[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$"`
}
  1. format

该规则要求一个字符串类型的字段必须符合指定格式(如日期时间、URL等)。

对应的validator函数是Matches(),例如:

type User struct {
    BirthDate time.Time `json:"birth_date" validate:"datetime=2006-01-02"`
}

以上是一些常见的OpenAPI规则和它们对应的golang validator函数。需要注意的是,golang validator支持的规则更多,可以参考文档了解更多信息。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=1528

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?