整合,优化swagger2

tech2022-09-06  115

引入相关依赖

<!--swagger2 配置 下面两个是官方的 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.4.0</version> </dependency> <!--这个是第三方的ui--> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>swagger-bootstrap-ui</artifactId> <version>1.6</version> </dependency>

通过javaconfig,进行swagger2相关配置

package com.imooc.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.service.Contact; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; @Configuration/*向springboot表明是配置类*/ @EnableSwagger2/*开启swagger2配置*/ public class Swagger2 { // http://localhost:8088/swagger-ui.html 原路径 // http://localhost:8088/doc.html 界面美观路径 //配置swagger2核心配置 docker @Bean public Docket createRestApi(){ return new Docket(DocumentationType.SWAGGER_2)//指定api类型为swagger2 .apiInfo(apiInfo())//用于定义api文档汇总信息 .select() .apis(RequestHandlerSelectors.basePackage("com.imooc.controller"))//指定controller位置 .paths(PathSelectors.any())//所有的controller .build(); } //创建apiInfo private ApiInfo apiInfo(){ return new ApiInfoBuilder() .title("天天吃货 电商平台接口api")//文档页标题 .contact(new Contact("imooc", "https://www.imooc.com", "abc@imooc.com"))//联系人信息 .description("专为天天吃货提供的api文档")//详细信息 .version("1.0.1")//文档版本号 .termsOfServiceUrl("https://www.imooc.com")//网站地址 .build(); } }

swagger2优化

controller:

@ApiIgnore注释在controller上:表明该controller不显示在文档中/*用于注释该controller*/ @Api(value = "注册登录",tags = {"用于注册登录的相关接口"})/*用于注释该controller*/ @ApiOperation(value = "用户名是否存在",notes = "用户名是否存在",httpMethod = "GET")//用于注释该方法

model:

注释在实体类名上:@ApiModel(value = "用户名",description = "从客户端,有用户传入的数据封装在此entity中")

注释在实体属性上:@ApiModelProperty(value ="用户名",name = "username",example = "imooc",required = true)

最新回复(0)