接口工具Swagger2和Swagger-UI的使用

这篇具有很好参考价值的文章主要介绍了接口工具Swagger2和Swagger-UI的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、为什么需要接口可视化工具?

二、Swagger-UI介绍:

1、在项目的pom文件中导入swagger2的依赖

2、下载Swagger-UI项目

3、引入Swagger-UI

4、编写配置文件

第一种:

第二种:

5、访问api文档页面

6、如果访问失败,则进行第六步,如果访问成功,就不用操作了。


一、为什么需要接口可视化工具?

我们的项目通常涉及大量接口和复杂功能。在开发人员调用服务中的API或者测试人员进行测试时,都需要知道服务所提供的功能,以及如何获取服务的API。常用的接口工具有:swagger、postman、SoapUI、cURL、Fiddler等。这里介绍如何使用swagger。

二、Swagger-UI介绍:

        Swagger-UI是一款非常有用的工具,可以让任何人通过可视化的方式与后台服务端API接口方法进行交互,而无需实现任何逻辑。

        Swagger-UI的配置可以独立存在,不会影响其他业务代码。通过引入Swagger-UI的配置,用户可以自动生成相应的可视化接口文档,并对项目中的接口进行测试。这极大地简化了客户端和服务端的访问流程,使得开发和测试人员能够更加便捷地使用。

1、在项目的pom文件中导入swagger2的依赖

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

2、下载Swagger-UI项目

https://github.com/swagger-api/swagger-ui.git

到上面的GitHub地址上通过压缩包的形式下载到本地,再进行解压获取;也可以通过本地安装git管理工具直接通过git clone指令拉取到本地。

3、引入Swagger-UI

        找到刚刚下载好的Swagger-UI项目,进入项目并找到dist目录,将整个dist目录复制到需要使用Swagger-UI工具项目的resources目录下。dist目录中的文件主要就是一些css、js和html等文件,都是用来显示和渲染Swagger-UI工具页面的。

swagger ui使用,接口工具、文档、配置,java,开发语言,前端,后端,团队开发

4、编写配置文件

        在config目录下创建Swagger2Config.java配置文件,编写API相关的配置信息 。这个配置文件的内容有很多种写法,但功能都是一样的,这里提供2种,可凭喜好任选。

第一种:

public class Swagger2Config implements WebMvcConfigurer {
    /**
     * 创建 API 应用
     * apiInfo 增加 API 相关信息
     * 通过 select() 函数返回一个 ApiSelectorBuilder 实例,用来控制哪些接口暴露给 Swagger 来展现
     * 本例采用指定扫描的包路径来定义指定要建立 API 的目录
     */
    @Bean
    public Docket createRestApi(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo()) // 用来展示该 API 的基本信息
                .select()   // 返回一个 ApiSelectorBuilder 实例,用来控制哪些接口暴露给 Swagger 来展现
                .apis(RequestHandlerSelectors.basePackage("com/six/campuseventmanagementsystem/controller"))   // 配置包扫描路径(根据自己项目调整,通常配置为控制器路径)
                .paths(PathSelectors.any()) //
                .build();
    }

    /**
     * 创建 API 的基本信息(这些基本信息会展现在文档页面中)
     * 访问地址:http://xxx/swagger-ui.html
     */
    private ApiInfo apiInfo(){
        return new ApiInfoBuilder()
                .title("校园赛事活动管理系统")
                .description("校园赛事活动管理系统 API接口文档")
                .termsOfServiceUrl("http://localhost:8080/")
                .contact(new Contact("ambrose", "swagger.example", "2020480337@qq.com"))
                .version("3.0")
                .build();
    }
}

第二种:

@Configuration
@EnableSwagger2
public class SwaggerConfiguration {
	//定义API接口映射路径	
    public static final String DEFAULT_INCLUDE_PATTERN = "/user/.*";
    private final Logger log = 
    		LoggerFactory.getLogger(SwaggerConfiguration.class);
    @Bean
    public Docket swaggerSpringfoxDocket() {
      log.debug("Starting Swagger");
      StopWatch watch = new StopWatch();
      watch.start();
      //用于生成对应API接口文档的描述信息,可省略
      ApiInfo apiInfo = new ApiInfo("用户管理API接口测试文档","description",
        		"termsOfServiceUrl","contact","version","","");
      Docket docket = new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(apiInfo)
        .genericModelSubstitutes(ResponseEntity.class)
        .forCodeGeneration(true)
        .genericModelSubstitutes(ResponseEntity.class)
        .directModelSubstitute(java.time.LocalDate.class, String.class)
        .directModelSubstitute(java.time.ZonedDateTime.class, Date.class)
        .directModelSubstitute(java.time.LocalDateTime.class, Date.class)
        .select()                
        .paths(regex(DEFAULT_INCLUDE_PATTERN))//匹配路径生成对应接口文档 
        .build();
      watch.stop();
      log.debug("Started Swagger in {} ms", watch.getTotalTimeMillis());
      return docket;
    }
}

5、访问api文档页面

        运行项目,通过对应“服务地址IP+端口+/swagger-ui.html”请求路径即可进入页面。路径一般为http://localhost:8080/swagger-ui.html

swagger ui使用,接口工具、文档、配置,java,开发语言,前端,后端,团队开发

6、如果访问失败,则进行第六步,如果访问成功,就不用操作了。

如果访问失败,原因有可能是无法访问swagger-ui的文件。只需要增加一个配置文件WebMvcConfig重新实现WebMvcConfigurer类并且重新指明路径即可。文章来源地址https://www.toymoban.com/news/detail-717024.html

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        // 解决静态资源⽆法访问
//        registry.addResourceHandler("/**")
//                .addResourceLocations("classpath:/static/");
        // 解决swagger⽆法访问
        registry.addResourceHandler("swagger-ui.html")
                .addResourceLocations("classpath:/META-INF/resources/");
        // 解决swagger的js⽂件⽆法访问
        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
}

到了这里,关于接口工具Swagger2和Swagger-UI的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Springboot配置Swagger展示API文档并进行接口测试(doc.html、swagger-ui.html)

    三、创建一个测试接口 http://localhost:8080/doc.html http://localhost:8080/swagger-ui.html

    2024年02月10日
    浏览(29)
  • SpringBoot使用Swagger2生成接口文档

            通过一下配置,将Swagger2自动配置进SpringBoot中             通过@Api注解和@ApiOperation注解说明模块作用及接口说明。         通过访问路径http://localhost:8088/doc.html,说明一下8088是我SpringBoot的端口号,你们填你们自己的,不同版本的Swagger访问的路径是不一样的。

    2024年01月25日
    浏览(35)
  • SpringBoot - 集成Swagger2、Knife4j接口文档/升级版swagger-bootstrap-ui配置以及账号密码登录

    请注意@Configuration和@EnableSwagger2注解。这两个注解分别表示这是一个配置类,以及启用了Swagger 2。只有在这两个注解都存在的情况下,Swagger才会被正确启用。 如果您的项目使用的是Swagger 3(即OpenAPI 3),则配置文件可能如下所示: 访问 http://localhost:8080/swagger-ui.html (假设项

    2024年02月08日
    浏览(32)
  • Spring Boot入门(16):Spring Boot 整合 Swagger-UI 实现在线API接口文档 | 超级详细,建议收藏

            在现代化的软件开发中,API接口文档的编写和管理是非常重要的一环。而Swagger-UI作为一款优秀的API文档生成工具,可以帮助开发者轻松地生成并管理API接口文档,提高开发效率和代码质量。在本文中,我们将介绍如何使用Spring Boot框架和Swagger-UI工具实现在线API接

    2024年02月16日
    浏览(42)
  • 【Python】Fastapi swagger-ui.css 、swagger-ui-bundle.js 无法加载,docs无法加载,redocs无法使用

    使用fastapi的时候,swagger-ui.css 、swagger-ui-bundle.js、redoc.standalone.js 有时候无法加载(国内环境原因或者是局域网屏蔽),此时就需要自己用魔法下载好对应文件,然后替换到fastapi里面去。 fastapi里面依靠这2个函数实现docs和redoc: fastapi里面官网给的解决办法: https://github.com

    2024年02月19日
    浏览(34)
  • swagger-ui

    目录 一、swagger-ui简介 1.1 swagger-ui原理 1.2 swagger-ui特点 二、swagger-ui+springboot页面使用 2.1 swagger-ui的依赖 2.2 加入以上依赖要注意的点 2.3 工具类 3.4 swagger-ui 常用注解 @Api (修饰类) @ApiOperation(修饰方法) @ApiParam (接收参数) @ApiModel (修饰参数对象类) @ApiModelProperty(修饰参数对象

    2024年02月02日
    浏览(30)
  • SpringBoot——Swagger2 接口规范

    优质博文:IT-BLOG-CN 如今, REST 和微服务已经有了很大的发展势头。但是, REST 规范中并没有提供一种规范来编写我们的对外 REST 接口 API 文档。每个人都在用自己的方式记录 api 文档,因此没有一种标准规范能够让我们很容易的理解和使用该接口。我们需要一个共同的规范和

    2024年02月04日
    浏览(34)
  • 如何关闭swagger-ui.html

    要关闭 Swagger UI,您需要停止运行您的应用程序。这将使 Swagger UI 不再可用。 如果您使用的是本地开发服务器,可以使用“CTRL + C”快捷键来停止运行服务器。如果您使用的是远程服务器,则需要使用服务器控制面板或命令行工具来停止服务器。 此外,还可以通过在 Swagger

    2024年02月15日
    浏览(33)
  • java 整合 swagger-ui 步骤

    1.在xml 中添加Swagger 相关依赖 2.配置Swagger 3.启动项目,访问 Swagger UI 访问地址:http://localhost:xxx/swagger-ui.html出现下面界面则配置成功 4.更改界面风格 4.1 添加依赖 4.2 启动项目,并访问 访问地址:http://localhost:xxxx/doc.html 4.3效果 5.Swagger 注解 6.遇见的问题

    2024年02月09日
    浏览(37)
  • 使用阿里druid关闭stat-view-servlet,和swagger-ui.html不可用

    一、问题描述 (1)druid 使用阿里druid的作为数据源的配置,还配置了stat-view-servlet,导致线上项目被扫描出未授权访问漏洞。简单来说就是druid/spring.html,这个页面可以直接访问,展示项目相关信息。 (2)swagger 使用swagger也是同样的问题,swagger在开发的时候方便的,但是上

    2024年02月11日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包