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

OpenApi Swagger(C#):如何阻止必填字段未填时调用端点?

解决Swagger必填路径参数未禁用执行按钮的问题

你遇到的问题是因为仅设置Required=true还不够,Swagger UI的表单校验需要参数同时具备完整的Schema定义才能正确触发禁用逻辑。按以下步骤修改即可:

  • 给参数添加Schema定义
    修改你在文档过滤器中的代码,为itemId参数补充Schema配置,指定参数的类型(根据实际业务调整,比如字符串、整数等):

    myOperation.Parameters.Add(new OpenApiParameter()
    {
        Name = "itemId",
        In = ParameterLocation.Path,
        Description = "Item Id.",
        Required = true,
        Schema = new OpenApiSchema
        {
            Type = "string" // 示例为字符串类型,可改为"integer"、"guid"等对应类型
        }
    });
    
  • 重启应用并清理缓存
    修改代码后重启你的API服务,同时清理浏览器缓存,确保Swagger文档重新加载最新的参数定义。

这样修改后,Swagger UI就能正确识别该参数的必填规则,在未填写itemId时自动禁用执行按钮,避免出现后续的JavaScript错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 16:58:56