关于springboot:Spring-Boot结合Swegger

4次阅读

共计 1857 个字符,预计需要花费 5 分钟才能阅读完成。

增加依赖

        <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.8.0</version>
        </dependency>

配置 SweggerConfig


/**
 * @Api:用于类,标识这个类是 swagger 的资源
 * @ApiIgnore:用于类,疏忽该 Controller,指不对以后类做扫描
 * @ApiOperation:用于办法,形容 Controller 类中的 method 接口
 * @ApiParam:用于参数,单个参数形容,与 @ApiImplicitParam 不同的是,他是写在参数左侧的。如(@ApiParam(name="username",value="用户名")Stringusername)* @ApiModel:用于类,示意对类进行阐明,用于参数用实体类接管
 * @ApiProperty:用于办法,字段,示意对 model 属性的阐明或者数据操作更改
 * @ApiImplicitParam:用于办法,示意独自的申请参数
 * @ApiImplicitParams:用于办法,蕴含多个 @ApiImplicitParam
 * @ApiResponse:用于办法,形容单个出参信息
 * @ApiResponses:用于办法,蕴含多个 @ApiResponse
 * @ApiError:用于办法,接口谬误所返回的信息
 *
 *
 * Failed to start bean‘documentationPluginsBootstrapper‘;解决办法
 * 在 application.properties 里配置里增加:* spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER
 * 起因:这是因为 Springfox 应用的门路匹配是基于 AntPathMatcher 的,而 Spring Boot 2.6.X 应用的是 PathPatternMatcher。*/

@Configuration // 表明是配置类
@EnableSwagger2 // 开启 swagger 性能
public class SwaggerConfig {
    @Bean
    public Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2)  // DocumentationType.SWAGGER_2 固定的,代表 swagger2
//                .groupName("分布式工作零碎") // 如果配置多个文档的时候,那么须要配置 groupName 来分组标识
                .apiInfo(apiInfo()) // 用于生成 API 信息
                .select() // select() 函数返回一个 ApiSelectorBuilder 实例, 用来管制接口被 swagger 做成文档
                .apis(RequestHandlerSelectors.basePackage("com.jsd.controller")) // 用于指定扫描哪个包下的接口
                .paths(PathSelectors.any())// 抉择所有的 API, 如果你想只为局部 API 生成文档,能够配置这里
                .build();}

    /**
     * 用于定义 API 主界面的信息,比方能够申明所有的 API 的总题目、形容、版本
     * @return
     */
    private ApiInfo apiInfo() {return new ApiInfoBuilder()
                .title("测试") //  能够用来自定义 API 的主题目
                .description("XX 我的项目 SwaggerAPI 治理") // 能够用来形容整体的 API
                .termsOfServiceUrl("") // 用于定义服务的域名
                .version("1.0") // 能够用来定义版本。.build(); //}
}

Testcontroller

@Api(tags = "测试治理")
@RestController
public class TestController {@ApiOperation("测试方法")
    @GetMapping("/test")
    public String Test01(){return "Test01";}

}
正文完
 0