Spring Boot中使用Swagger2构建强大的RESTful API文档
Spring Boot中使用Swagger2构建强大的RESTful API文档
http://blog.didispace.com/swagger2markup-asciidoc/
添加插件

<pluginRepositories> <pluginRepository> <id>jcenter-snapshots</id> <name>jcenter</name> <url>http://oss.jfrog.org/artifactory/oss-snapshot-local/</url> </pluginRepository> <pluginRepository> <snapshots> <enabled>false</enabled> </snapshots> <id>jcenter-releases</id> <name>jcenter</name> <url>http://jcenter.bintray.com</url> </pluginRepository> </pluginRepositories>

<plugin> <groupId>io.github.swagger2markup</groupId> <artifactId>swagger2markup-maven-plugin</artifactId> <version>1.3.1</version> <configuration> <swaggerInput>http://localhost:8080/v2/api-docs</swaggerInput> <!--<outputDir>src/docs/asciidoc/generated</outputDir>--> <outputFile>src/docs/asciidoc/generated/all</outputFile> <config> <swagger2markup.markupLanguage>ASCIIDOC</swagger2markup.markupLanguage> <!--<swagger2markup.markupLanguage>MARKDOWN</swagger2markup.markupLanguage>--> </config> </configuration> </plugin> <plugin> <groupId>org.asciidoctor</groupId> <artifactId>asciidoctor-maven-plugin</artifactId> <version>1.5.6</version> <configuration> <sourceDirectory>src/docs/asciidoc/generated</sourceDirectory> <outputDirectory>src/docs/asciidoc/html</outputDirectory> <backend>html</backend> <sourceHighlighter>coderay</sourceHighlighter> <attributes> <toc>left</toc> </attributes> </configuration> </plugin>
先启动应用程序,确保http://localhost:8080/v2/api-docs 可以正常访问
执行mvn命令
mvn swagger2markup:convertSwagger2markup
生产adoc文件后再生产HTML
mvn asciidoctor:process-asciidoc
查看文件
swagger2常用注解说明
一个不错的swagger ui
<!-- https://mvnrepository.com/artifact/com.github.xiaoymin/swagger-bootstrap-ui --> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>swagger-bootstrap-ui</artifactId> <version>1.8.2</version> </dependency>
修复 swaggerfox 升级 2.9.2 java.lang.NumberFormatException
生产环境中禁用

@Configuration @EnableSwagger2 public class SwaggerConfig { @Value("${swagger.show}") private boolean swaggerShow; @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .enable(swaggerShow) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.hexin.messagecenter.controller.api")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("message-center APIs") .description("消息中心接口") // .termsOfServiceUrl("http://www.hxlc.com/") .version("1.0") .build(); } }
配置中添加
swagger: show: false
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 单线程的Redis速度为什么快?
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库