如何在Swagger UI中添加Swagger.json并配置JSON文档跳转链接
添加Swagger JSON文档访问链接到Swagger UI
下面分不同技术栈给出具体实现方案:
1. Spring Boot + SpringDoc OpenAPI(现代主流方案)
SpringDoc默认会暴露/v3/api-docs端点返回Swagger格式的JSON数据。要在Swagger UI页面添加可点击的JSON链接,有两种实用方式:
方式一:配置Swagger UI显示文档选择器
修改OpenAPI配置类,添加SwaggerUiConfigParameters Bean,将JSON文档作为可选源加入:
@Configuration public class OpenApiConfig { @Bean public OpenAPI customOpenAPI() { return new OpenAPI() .info(new Info().title("你的API文档").version("v1")); } @Bean public SwaggerUiConfigParameters swaggerUiConfigParameters() { SwaggerUiConfigParameters configParams = new SwaggerUiConfigParameters(); // 添加JSON文档链接,Swagger UI顶部会出现下拉选择器 configParams.addUrl("Swagger JSON", "/v3/api-docs"); return configParams; } }
方式二:自定义Swagger UI页面添加直接链接
如果需要更直观的文本链接,可以自定义Swagger UI的HTML模板,在页面头部插入:
<div class="swagger-ui-topbar"> <a href="/v3/api-docs" target="_blank" style="margin-left: 20px;">打开Swagger JSON文档</a> </div>
2. Spring Boot + Springfox(旧版Swagger2)
Springfox默认暴露/v2/api-docs端点返回JSON。要添加链接:
- 先确认
/v2/api-docs可正常访问,然后可以选择修改Swagger UI静态页面添加链接,或者在API信息中补充链接(后者体验稍弱):
@Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .select() .apis(RequestHandlerSelectors.basePackage("com.your.project.package")) .paths(PathSelectors.any()) .build() .apiInfo(new ApiInfoBuilder() .title("你的API文档") .version("v1") // 可选:在API描述里嵌入链接 .description("API文档 <a href='/v2/api-docs' target='_blank'>查看JSON格式</a>") .build()); } }
3. 通用静态Swagger UI部署(如Node.js/纯前端)
如果是直接部署Swagger UI的静态文件,修改swagger-ui.html,在页面合适位置添加链接即可:
<!-- 在页面头部区域添加 --> <div style="padding: 10px 20px;"> <a href="/swagger.json" target="_blank">查看Swagger JSON文档</a> </div>
确保swagger.json文件放置在服务器可访问的路径下,链接地址与文件路径匹配。
核心检查项
- 先验证JSON端点(如
/v3/api-docs)是否能正常返回内容,直接在浏览器访问该URL确认。 - 链接必须添加
target="_blank"属性,确保点击后在新标签页打开。
内容的提问来源于stack exchange,提问作者Indhumadhi K V
相关产品推荐
相关产品推荐

