依赖

    <!--swagger        -->    <dependency>        <groupId>io.springfox</groupId>        <artifactId>springfox-swagger2</artifactId>        <version>2.9.2</version>    </dependency>    <!--swagger-ui.html模式        -->    <dependency>        <groupId>io.springfox</groupId>        <artifactId>springfox-swagger-ui</artifactId>        <version>2.9.2</version>    </dependency>    <!--doc.html模式        -->    <dependency>        <groupId>com.github.xiaoymin</groupId>        <artifactId>swagger-bootstrap-ui</artifactId>        <version>1.9.2</version>    </dependency>

配置端口号

server.port=1313#启动会报错(起因:Springfox应用的门路匹配基于AntPathMatcher,而Spring Boot 2.6.X应用的是PathPatternMatcher。)#org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerExceptionspring.mvc.pathmatch.matching-strategy=ant_path_matcher

启动类增加注解( @EnableSwagger2 )

@EnableSwagger2@SpringBootApplicationpublic class JavaApplication {    public static void main(String[] args) {        SpringApplication.run(JavaApplication.class, args);    }}

注解介绍

/** * Api注解:定义接口名称 * ApiOperation注解:定义方法名称 * ApiImplicitParam注解:定义param参数的各个属性 * * ApiModel注解:定义对象名称 * ApiModelProperty注解:定义参数名称 */@Api(tags = "测试接口")@RestControllerpublic class TestController {    @ApiOperation(value = "测试01")    @GetMapping("/test01")    public String Test01(){        return "Test01";    }}

拜访地址:http://localhost:1313/swagger...
或者http://localhost:1313/doc.html

新增配置类

/** * @EnableSwagger2:开启swagger,此处也须要应用。 * @Profile("swagger"):指定组件在哪个环境的状况下能力被注册到容器中,不指定,任何环境下都能注册这个组件。 *  * spring.profiles.active=swagger * */@Configuration@EnableSwagger2@Profile("swagger")public class SwaggerConfig {    /**     * 创立API利用 apiInfo() 减少API相干信息     * 通过select()函数返回一个ApiSelectorBuilder实例,用来管制哪些接口裸露给Swagger来展示,     * 本例采纳指定扫描的包门路来定义指定要建设API的目录。     *     * @return     */    @Bean    public Docket createRestApi() {        // 抉择那些门路和api会生成document        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).pathMapping("/").select()                // 对所有api进行监控                .apis(RequestHandlerSelectors.any())                .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class)).build()                // 配置token                .globalOperationParameters(setHeaderToken());    }    /**     * 配置token     *     * @return     */    private List<Parameter> setHeaderToken() {        ParameterBuilder tokenPar = new ParameterBuilder();        List<Parameter> pars = new ArrayList<>();        tokenPar.name("Authorization").description("token").modelRef(new ModelRef("string")).parameterType("header")                .required(false).build();        pars.add(tokenPar.build());        return pars;    }    /**     * 创立该API的根本信息(这些根本信息会展当初文档页面中)     *     * @return     */    private ApiInfo apiInfo() {        return new ApiInfoBuilder().title("测试接口文档").description("测试接口文档").version("1.0").build();    }}