You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Swagger中实现字符串长度校验及空字符串检查(允许Null)

在Swagger中实现字符串非空(允许Null)+ 长度校验的方案

要实现允许Null值、拒绝空字符串、同时限制长度70-100的校验,直接在现有配置上调整即可,具体如下:

核心配置修改

type: string
nullable: true  # 明确允许字段为Null
maxLength: 100
minLength: 70
# 若minLength≥1,空字符串已被minLength拦截,可省略下面的pattern;若需更严格(比如禁止全空格),则保留
pattern: ".+"
example: 'abcddedssk'
x-constraint-messages:
  minLength: ACCOUNT_GUID_MIN_LENGTH
  maxLength: ACCOUNT_GUID_MAX_LENGTH
  pattern: ACCOUNT_GUID_EMPTY_NOT_ALLOWED  # 空字符串对应的错误提示码

关键说明

  • nullable: true:必须添加这个字段,OpenAPI默认不允许Null值,配置后才会放行Null。
  • 空字符串拦截逻辑:
    • 你当前设置的minLength:70已经能自动拦截空字符串(空字符串长度为0,小于70),所以如果业务要求字符串长度必须≥70,这一项就足够,不需要额外配置pattern。
    • 如果你后续需要调整minLength为0或1,但仍要拒绝空字符串,就需要加上pattern: ".+",这个规则会强制字符串至少包含一个任意字符,彻底排除空字符串;要是还想禁止全空格的“伪空”字符串,可以用pattern: "^\\S+$"(匹配至少一个非空白字符)。
  • 自定义错误提示:在x-constraint-messages里对应pattern添加错误码,方便返回统一的业务提示。

内容的提问来源于stack exchange,提问作者manu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 10:01:16