今天小编给大家分享一下springboot项目中怎么使用Swagger的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
1、Swagger是啥
Swagger 是一个用于生成、描述和调用 RESTful 接口的 Web 服务。通俗的来讲,Swagger 就是将项目中所有(想要暴露的)接口展现在页面上,并且可以进行接口调用和测试的服务。
2、Swagger有什么用?
Swagger 有以下 3 个重要的作用:将项目中所有的接口展现在页面上,这样后端程序员就不需要专门为前端使用者编写专门的接口文档;当接口更新之后,只需要修改代码中的 Swagger 描述就可以实时生成新的接口文档了,从而规避了接口文档老旧不能使用的问题;通过 Swagger 页面,我们可以直接进行接口调用,方便我们开发。
3、springboot中如何引入Swagger
1)在如依赖
<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)创建一个controller类
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class TestController { @PostMapping("/hello") public String hello(String str){ return "hello,"+str; } }
3)再创建一个Swagger配置类SwaggerConfig类
@Configuration @EnableSwagger2//开始Swagger2 public class SwaggerConfig { //配置了Swagger 的Docket的bean实例 @Bean public Docket docket(){ ParameterBuilder ticketPar = new ParameterBuilder(); List<Parameter> pars = new ArrayList<>(); ticketPar.name("Authorization").description("token")//Token 以及Authorization 为自定义的参数,session保存的名字是哪个就可以写成那个 .modelRef(new ModelRef("string")).parameterType("header") .required(false).build(); //header中的ticket参数非必填,传空也可以 pars.add(ticketPar.build()); //根据每个方法名也知道当前方法在设置什么参数 return new Docket(DocumentationType.SPRING_WEB) .apiInfo(apiInfo()) .select() //RequestHandlerSelectors, 配置要扫描接口的方式 //basePackage:指定要扫描的包 //any():扫描全部 //withClassAnnotation: 扫描类上的注解 //withMethodAnnotation: 扫描方法上的注解 .apis(RequestHandlerSelectors.basePackage("com.example.swagger.controller")) .build() .globalOperationParameters(pars); } //配置Swagger 信息=apiInfo private ApiInfo apiInfo(){ return new ApiInfo( "Logistics Api",//文檔命名 "test",//文檔描述 "v1.0",// "http:127.0.0.1/", null,//contact "Apache 2.0", "http://www.apache.org/licenses/LICENSE-2.0", new ArrayList() ); } }
注意!
注意!
注意!
把apis(RequestHandlerSelectors.basePackage("com.example.swagger.controller"))中的
“com.example.swagger.controller ”路径写成你自己的controller包的路径
4、项目的总体结构
5、通过网址访问网页
在完成以上步骤之后点击运行,等运行完后再在浏览器中访问以下网址:
http://127.0.0.1:8080/swagger-ui.html#/
这里的端口要改为自己的端口。
效果如图所示