gpt4 book ai didi

Spring Boot整合Swagger测试api构建全纪录

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Spring Boot整合Swagger测试api构建全纪录由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

什么是swagger?

swagger是什么:the world's most popular api tooling 。

根据官网的介绍:

swagger inspector:测试api和生成openapi的开发工具。swagger inspector的建立是为了解决开发者的三个主要目标.

  • 执行简单的api测试
  • 生成openapi文档
  • 探索新的api功能

我的理解swagger是一个规范和完整的框架,用于生成、描述、调用和可视化restful风格的web服务。简单来说,swagger是一个功能强大的接口管理工具,并且提供了多种编程语言的前后端分离解决方案。根据我的使用,当然我只是最简单的使用,我感觉swagger有以下几个优点:

swagger可以整合到代码中,在开发时通过注解,编写注释,自动生成api文档。 将前端后台分开,不会有过分的依赖.

界面清晰,无论是editor的实时展示还是ui的展示都十分人性化,如果自己仅仅用markdown来编写,又要纠结该如何展现,十分痛苦.

构建项目 。

step1.导入依赖 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!--swagger服务api构建个性包-->
<dependency>
  <groupid>io.springfox</groupid>
  <artifactid>springfox-swagger2</artifactid>
  <version> 2.6 . 1 </version>
</dependency>
<!--swagger ui界面-->
<dependency>
  <groupid>io.springfox</groupid>
  <artifactid>springfox-swagger-ui</artifactid>
  <version> 2.6 . 1 </version>
</dependency>
<!--springboot web服务-->
<dependency>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-web</artifactid>
</dependency>
<!--springboot单元测试-->
<dependency>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-test</artifactid>
  <scope>test</scope>
</dependency>

step2.编写swagger配置类 。

想要使用swagger功能必须提供配置类,主要配置ui界面信息,以及配置扫描位置,swagger会根据配置的路径扫描所有的服务生成api.

其中核心requesthandlerselectors.basepackage("com.simple.spring.boot.controller"),在这里配置我们的需要的扫描包位置.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@configuration
@enableswagger2
public class swaggerconfig {
@bean
public docket createrestapi() {
   return new docket(documentationtype.swagger_2).apiinfo(apiinfo())
    .select()
    .apis(requesthandlerselectors.basepackage( "com.simple.spring.boot.controller" ))
    .paths(pathselectors.any()).build();
}
private apiinfo apiinfo() {
  return new apiinfobuilder()
   .title( "spring boot中使用swagger2构建restful apis" )
   .description( "myapp" )
   .termsofserviceurl( "http://blog.csdn.net/simplewu" )
   .version( "1.0" ).build();
  }
}

step3.编写springboot启动类 。

@componentscan(basepackages={"com.simple.spring.boot.controller"}) 也是需要配置扫描路径.

?
1
2
3
4
5
6
7
@springbootapplication
@componentscan (basepackages={ "com.simple.spring.boot.controller" })
public class swaggerapplication {
  public static void main(string[] args) {
   springapplication.run(swaggerapplication. class , args);
  }
}

step4.创建前端控制器 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
@restcontroller
@api (tags = "swgger测试服务" , description = "swgger测试服务" )
@requestmapping (value = "/simple/wu" )
public class testcontroller {
 
  @apioperation (value= "测试post方法" , notes= "测试post方法" )
  @apiimplicitparam (name = "令牌" , value = "id" , required = true , datatype = "token" )
  @requestmapping (value= "hello" , method=requestmethod.post)
  public string post( @requestbody string token) {
   books.put(book.getid(), book);
   return "success" ;
  }
}
  • @api(tags = "swgger测试服务", description = "swgger测试服务") 指定某个类提供服务的名字
  • @apioperation(value="测试post方法", notes="测试post方法") 指定某个请求的名字
  • @apiimplicitparam(name = "令牌", value = "token", required = true, datatype = "string")指定名字对应参数为令牌,以及对应参数字段token,required = true代表这个参数为必填参数,datatype 代表数据类型。

step5.启动服务 。

从上面的代码中我们指定请求为post在ui界面上我们会看到一个服务名字为swgger测试服务的大类点击进去后可以看到里面所拥有的请求,如果指定这个请求的类型那么无法进行单元测试,指定后我们会看到一个请求名字叫做测试post方法的请求并且需要填入必填参数token来完成我们的单元测试.

我们可以直接通过swaggerapplication类来运行main方法来进行服务,端口号默认为8080. 。

swagger地址:http://localhost:8080/swagger-ui.html 只需要在地址后面加上swagger-ui.html即可访问 。

我们访问这个位置即可看到ui界面,界面简洁并且容易上手,我这边就不截图了.

step.总结 。

swagger官方文档:https://www.baeldung.com/swagger-2-documentation-for-spring-rest-api 。

swagger的一个最大的优点是能实时同步api与文档.

在项目开发过程中,发生过多次:修改代码但是没有更新文档,前端还是按照老旧的文档进行开发,在联调过程中才发现问题的情况(当然依据开闭原则,对接口的修改是不允许的,但是在项目不稳定阶段,这种情况很难避免).

总结 。

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我的支持.

原文链接:https://www.cnblogs.com/SimpleWu/archive/2019/01/12/10261140.html 。

最后此篇关于Spring Boot整合Swagger测试api构建全纪录的文章就讲到这里了,如果你想了解更多关于Spring Boot整合Swagger测试api构建全纪录的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com