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

如何在Docusaurus中通过OpenApi文件移除Schema的OPTIONAL标识

移除Docusaurus OpenAPI Schema中的OPTIONAL标识

你的项目使用docusaurus-preset-openapi@0.7.3,要去掉Schema区域里的OPTIONAL字样,有几个实用方法:

方法1:通过Swizzle自定义组件(推荐)

利用Docusaurus的Swizzle功能覆盖预设的Schema展示组件:

  • 执行命令:
    npm run swizzle docusaurus-preset-openapi SchemaItem
    
    选择wrap模式(保留原组件逻辑,方便后续升级)或者eject(完全自定义)。
  • 打开生成的src/theme/SchemaItem/index.js文件,找到渲染OPTIONAL的代码段,比如类似这样的:
    {!required && <span className="optional">OPTIONAL</span>}
    
    直接删掉这段代码就行。
  • 重启npm start,刷新页面就能看到效果。

方法2:用CSS直接隐藏

不想改组件代码的话,全局加CSS隐藏:

  • 打开项目的src/css/custom.css,添加以下样式:
    /* 隐藏Schema中的OPTIONAL标签 */
    .openapi-doc .optional {
      display: none;
    }
    
    要是类名不对,用浏览器开发者工具查一下OPTIONAL元素的实际类名,调整选择器就行。
  • 重启服务后,OPTIONAL就会被隐藏。

方法3:修改OpenAPI文件(不推荐)

如果硬要从数据源层面改,把OpenAPI里所有可选字段加到对应required数组里,但这样会把可选字段改成必填,改变API语义,只适合特殊场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 21:37:35