前言
swagger是啥,是干什么的,有什么用,我想在这里我就不用介绍了,下面直接代码演示。
添加依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.inchlifc</groupId><artifactId>SwaggerDemo</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>SwaggerDemo</name><description>Demo project for Spring Boot</description><properties><java.version>8</java.version></properties><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.9</version></parent><dependencies><dependency><groupId>io.springfox</groupId><artifactId>springfox-spring-web</artifactId><version>3.0.0</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>3.1.3</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version></plugin></plugins></build></project>
添加配置
package com.inchlifc.swaggerdemo.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;/*** Swagger3的接口配置* * @author chery*/
@Configuration
public class SwaggerConfig{// 控制是否允许swaggerprivate boolean enableSwagger = true;@Beanpublic Docket api() {return new Docket(DocumentationType.OAS_30) //展示的swagger文档格.enable(enableSwagger) //是否启动swagger配置.select().apis(RequestHandlerSelectors.any()).paths(PathSelectors.any()).build();}}
配置文件
spring:mvc:pathmatch:matching-strategy: ant_path_matcher
测试Controller
package com.inchlifc.swaggerdemo.controller;import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/swagger")
@Api(value = "测试",tags = {"测试Swagger"})
public class TestController {@ApiOperation(value = "测试接口")@RequestMapping(value = "/hello",method = RequestMethod.GET)public String hello(){return "hello";}
}