Swagger-UI

一、swagger简介

swagger是一个可以编写接口的API文档并且可以调试接口的一个工具,从swagger的官网上可以看到主要有swagger-editor、swagger-ui以及swagger-codegen三个工具。swagger-editor用来编辑swagger格式的文档,swagger-ui用来展示swagger格式的文档而swagger-codegen则可以根据文档来生成不同开发语言的客户端。同时还有个swagger hub则是集成了以上三种工具的一个交由swagger托管的一个网站。

二、swagger-editor

从官网上可以看到,我们可以自行搭建swagger-editor环境,由于swagger已经发布了docker镜像,因此我们只要使用docker运行镜像即可。



我访问下10030端口,即可以看到swagger-editor的页面,如下


三、swagger-ui

swagger-editor编辑后的swagger接口文档需要使用swagger-ui来查看,swagger-ui在官网上也可以找到运行方式,也是做成了docker镜像。



访问虚拟机80端口,就可以访问到swagger-ui界面了


但是有问题,就是swagger.json如何才能变成自己有swagger-editor编写的文档呢,使用了官网的方法好像都无法修改上面的swagger内容,看了下swagger-ui在github上面的用于构建镜像的Dockerfile文件,如下


使用了nginx,因此我们需要把自己编辑好的swagger.json放入到和swagger-ui页面相同的目录下,这样我们就可以访问自己的swagger.json了。


进入到容器里面查看,可以看到我们自己的swagger.json,我们可以访问下


可以看到我们可以访问自己的swagger文档了

四、如果文档不需要存磁盘,我们可以使用代码来生成API文档

1.需要引入的swagger依赖

            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>2.6.1</version>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>2.6.1</version>

            </dependency>

2.swagger配置

@Configuration
@EnableSwagger2
@EnableWebMvc
public class SwaggerAutoConfiguration {


    @Bean
    public Docket customImplementation() {
        return new Docket(DocumentationType.SWAGGER_2)
            .useDefaultResponseMessages(false)
            .apiInfo(apiInfo())
            .select()
            .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
            .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
            .build();
    }


    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
            .title("API 文档")
            .description("")
            .version("1.0")
            .build();
    }

}

3.需要生成接口文档的controller类和方法上添加@Api和@ApiOperation注解即可


参考文章

1.swagger2的常用注解,传递参数的注意使用方法

https://www.cnblogs.com/fengli9998/p/7921601.html

2.使用自定义注解生成文档

https://blog.csdn.net/s332755645/article/details/80405972

3.docker部署swagger

https://blog.csdn.net/sweetyoyy/article/details/78388524?foxhandler=RssReadRenderProcessHandler

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Swagger UI是一个开源的API文档工具,可以帮助开发人员更好地理解和使用RESTful Web服务。swagger-ui.html是Swagger UI的主页面,它提供了一个交互式的API文档,可以让用户轻松地浏览和测试API。用户可以在swagger-ui.html页面上查看API的详细信息,包括API的路径、请求参数、响应格式等等。同时,Swagger UI还提供了一个交互式的控制台,可以让用户直接在页面上测试API,而无需使用其他工具。 如果在Spring Boot项目中引入Swagger UI后,访问swagger-ui.html页面出现404错误,可以按照以下步骤解决: 1. 确认是否已经引入了Swagger UI依赖,可以在pom.xml文件中查看是否已经添加了以下依赖: ```xml <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency> ``` 2. 确认是否已经在配置类中启用了Swagger,可以在配置类中添加以下注解: ```java @EnableSwagger2 ``` 3. 确认是否已经配置了Swagger的Docket,可以在配置类中添加以下方法: ```java @Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .select() .apis(RequestHandlerSelectors.any()) .paths(PathSelectors.any()) .build(); } ``` 4. 确认是否已经正确配置了Spring Boot的静态资源路径,可以在application.properties文件中添加以下配置: ```properties spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/ ``` 如果以上步骤都已经正确配置,但仍然无法访问swagger-ui.html页面,可以尝试清除浏览器缓存或者重启项目。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值