首页 > 其他分享 >Swagger2生成Api文档

Swagger2生成Api文档

时间:2023-06-06 18:02:35浏览次数:34  
标签:swagger2markup docs html Swagger2 Api 文档 org import swagger


前置条件是项目中已经使用swagger

一、html格式:

1.加入依赖 swagger2markup

<!-- 文档生成 -->
	    <dependency>
	        <groupId>io.github.swagger2markup</groupId>
	        <artifactId>swagger2markup</artifactId>
	        <version>1.3.1</version>
	    </dependency>

2.生成方式1使用Test类生成

import java.net.URL;
import java.nio.file.Paths;
import org.junit.Test;
import org.junit.runner.RunWith;
import io.github.swagger2markup.Swagger2MarkupConfig;
import io.github.swagger2markup.Swagger2MarkupConverter;
import io.github.swagger2markup.builder.Swagger2MarkupConfigBuilder;
import io.github.swagger2markup.markup.builder.MarkupLanguage;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;


@RunWith(SpringRunner.class)
@ContextConfiguration
public class ApiTest {

    @Test
    public void generateAsciiDocs() throws Exception {
        //    输出Ascii格式
        Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder()
                .withMarkupLanguage(MarkupLanguage.ASCIIDOC)//格式可多选
//                .withMarkupLanguage(MarkupLanguage.MARKDOWN)
                .build();

        Swagger2MarkupConverter.from(new URL("http://localhost:18080/v2/api-docs"))

                .withConfig(config)
                .build()
                .toFolder(Paths.get("src/docs/asciidoc/generated"));
    }

}

其中 http://localhost:18080/v2/api-docs 为你项目的swagger json文档,启动swagger后可以看到

Swagger2生成Api文档_html

执行后生成对应的4个文档:

Swagger2生成Api文档_swagger_02

目录为:

src\docs\asciidoc\generated

 3.生成html

需要加入一个插件到pom.xml

<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>

然后执行maven 使用命令:

Swagger2生成Api文档_swagger_03

执行完后生成html文件:里面便是Api详情。只要你swagger 里面比较规范,这里也就很规范。

Swagger2生成Api文档_swagger_04

 好了 这是html方式。

二、另外推荐一款工具,使用showdoc

 官网:https://www.showdoc.com.cn/

当然这个工具也可以下载代码部署到自己服务器,也可以使用他在线的。

注册登录--新建项目

Swagger2生成Api文档_github_05

选择导入文件:

Swagger2生成Api文档_api_06

这里我们先去访问swagger的:http://localhost:18080/xxx/v2/api-docs 并且ctrl+s保存为json格式 的文件

google游览器

Swagger2生成Api文档_swagger_07

然后导入到showdoc的上面的操作即可生成api文档,很方便。 

 

标签:swagger2markup,docs,html,Swagger2,Api,文档,org,import,swagger
From: https://blog.51cto.com/u_16152740/6426762

相关文章

  • API全场景零码测试机器人,华为云发布ATGen in CodeArts TestPlan
    摘要:华为云ATGen现开放对外邀测,欢迎预约。本文分享自华为云社区《API全场景零码测试机器人,华为云发布ATGeninCodeArtsTestPlan》,作者:华为云头条。众所周知,软件服务及组件之间的交互主要依赖大量的API接口。以华为云300多个商用云服务为例,平均每个服务含500+接口,接口总数高......
  • Elasticsearch专题精讲—— REST APIs —— Document APIs —— Update By Query API
    RESTAPIs——DocumentAPIs—— UpdateByQueryAPIhttps://www.elastic.co/guide/en/elasticsearch/reference/8.8/docs-update-by-query.html#docs-update-by-queryUpdatesdocumentsthatmatchthespecifiedquery.Ifnoqueryisspecified,performsanupdateo......
  • 如何通过抖音订单API接口获取订单详情
    要通过抖音订单API接口获取订单详情,您需要进行以下步骤:1.获取AccessToken:使用APPID和APPSecret调用获取AccessTokenAPI接口来获取您的AccessToken。2.获取订单列表:使用订单查询API接口传递AccessToken和其他查询参数来查询订单列表并获取订单ID。3.获取订单详情:使用订单......
  • Elasticsearch专题精讲—— REST APIs —— Document APIs —— Update API
    RESTAPIs——DocumentAPIs——UpdateAPIhttps://www.elastic.co/guide/en/elasticsearch/reference/8.8/docs-update.htmlUpdatesadocumentusingthespecifiedscript.使用指定的脚本更新文档。1、Request(请求)https://www......
  • 手把手教你AspNetCore WebApi:Swagger(Api文档)
    前言小明已经实现“待办事项”的增删改查,并美滋滋向负责前端的小红介绍Api接口,小红很忙,暂时没有时间听小明介绍,希望小明能给个Api文档。对于码农小明来说能不写文档就尽量不要写,不过这也难不倒小明,他知道Swagger不仅可以自动生成Api文档,并还可以用Swagger进行接口测试。Swagger是什......
  • 手把手教你AspNetCore WebApi:数据验证
    前言小明最近又遇到麻烦了,小红希望对接接口传送的数据进行验证,既然是小红要求,那小明说什么都得满足呀,这还不简单嘛。传统验证[HttpPost]publicasyncTask<ActionResult<Todo>>PostTodo(Todotodo){if(string.IsNullOrEmpty(todo.Name)){returnOk("名称不......
  • 手把手教你AspNetCore WebApi:Serilog(日志)
    前言小明目前已经把“待办事项”功能实现了,API文档也搞定了,但是马老板说过,绝对不能让没有任何监控的项目上线的。Serilog是什么?在.NET使用日志框架第一时间会想到NLog或是Log4Net,Serilog是这几年快速崛起的Log框架之一,Serilog是以Structuredlogging为基础进行设计,透过loggingAP......
  • 手把手教你AspNetCore WebApi:缓存(MemoryCache和Redis)
    前言这几天小明又有烦恼了,系统上线一段时间后,系统性能出现了问题,马老板很生气,叫小明一定要解决这个问题。性能问题一般用什么来解决呢?小明第一时间想到了缓存。什么是缓存缓存是实际工作中非常常用的一种提高性能的方法。缓存可以减少生成内容所需的工作,从而显著提高应用程序的性能......
  • 手把手教你AspNetCore WebApi:增删改查
    前言小明已经创建与运行了WebApi项目,了解项目结构有哪些组成,并学会了怎么发布到IIS。基础已经建好,从现在开始要真正实现待办事项的功能了。新建表CREATETABLE[dbo].[Todo]( [Id][uniqueidentifier]NOTNULL, [Name][nvarchar](100)NULL,CONSTRAINT[PK_Todo]PRIMARYKEY......
  • 手把手教你AspNetCore WebApi:认证与授权
    前言这几天小明又有烦恼了,之前给小红的接口没有做认证授权,直接裸奔在线上,被马老板发现后狠狠的骂了一顿,赶紧让小明把授权加上。赶紧Baidu一下,发现大家都在用JWT认证授权,这个倒是挺适合自己的。什么是TokenToken是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后......