1. Swagger2 的maven添加
在使用Swagger2之前是需要添加maven依赖就行了,不用安装其他插件,添加你Maven的时候都会自动添加.
这里使用的是
springFox Swagger2 V2.9.2 的版本
springFox Swagger UI V2.9.2版本
Swagger 官网: swagger.io
<!--mvnrepository.com maven官网-->
<!--SpringFox Swagger2 » 2.9.2-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<!--SpringFox Swagger UI » 2.9.2-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
刷新maven后直接 使用Tomcat端口+swagger-ui.html
例如
http://localhost:8091/swagger-ui.html
2.Swagger2 配置类
打开idea 创建以个Swagger2Config类
Docket 类中的方法作用介绍
RequestHandlerSelectors 配置包 类 或 方法
basePackage("") 扫描该包下的所有restFul
any() 扫描全部restFul
none() 全不扫描
withMethodAnnotation(PostMapping.class) 扫描方法上的restFul注解的class对象
withMethodAnnotation(RequestMapping.class) 扫描类上的restFul注解的class对象
paths() 路径过滤
enable(false) 开启过关闭swagger2,就是swagger2 的开true关false
groupName(“allow”) 分组
@Configuration
@EnableSwagger2 //开启swagger2
public class Swagger2Config {
//分组
@Bean
public Docket docket1(){return new Docket(DocumentationType.SWAGGER_2).groupName("A");}
@Bean
public Docket docket2(){return new Docket(DocumentationType.SWAGGER_2).groupName("B");}
@Bean
public Docket docket(){//配置swagger2的bean实例
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.groupName("allow")
.enable(true)
.select()
.apis(RequestHandlerSelectors.basePackage("com.by.baiyue.controller"))
//.paths(PathSelectors.ant("/doLanding"))
.build();
}
// 配置apiInfo()
private ApiInfo apiInfo(){
//作者信息
Contact contact= new Contact("allow",
"www.baidu.com",
"1303358675@qq.com");
return new ApiInfo(
"allow swagger2",
"世界之大",
"V1.0",
"urn:tos",
contact,
"Apache 2.0",
"http://www.apache.org/licenses/LICENSE-2.0",
new ArrayList());
}
}
3. Swagger2中注解使用
@EnableSwagger2 //开启swagger2
@ApiOperation("用户登录") //用于能描述该请求的功能
@ApiParam("用户名称") //用来描述请求的参数
@ApiModelProperty("用户名")//用来描述pojo对象的属性
@CrossOrigin
@RestController
@RequestMapping("/customer")
public class CustomerController {
@Autowired
private CustomerService customerService;
@ApiOperation("用户登录")//可以用来描述该请求的作用
@PostMapping("/doLogin")//@ApiParam("用户id") 可以用来描述该参数
public SysResult doLogin(@RequestBody
@ApiParam("用户名称")String name ,
@ApiParam("用户密码") String password ){
customerService.doLanding(name,password);
return SysResult.success();
}
@ApiOperation("用户注册")
@GetMapping("/doRegistered")
public SysResult doRegistered(Customer customer){
customerService.doRegistered(customer);
return SysResult.success();
}
}
pojo中的属性代码及图例
@Data
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
@TableName("customer")
public class Customer {
@ApiModelProperty("用户id")//为该属性添加备注
private Integer id;//用户id
@ApiModelProperty("用户名")
private String name;//用户名
@ApiModelProperty("性别")
private Integer sex;//性别
@ApiModelProperty("出生日期")
private Date birth;//出生日期
@ApiModelProperty("联系方式")
private String phone;//联系方式
@ApiModelProperty("身份证号")
private String idNumber;//身份证号
@ApiModelProperty("密码")
private String password;//密码
@ApiModelProperty("邮箱")
private String email;//邮箱
@ApiModelProperty("用户角色")
private String role;//用户角色
}
配置完Swagger2Config类基本上就完成了
对于Swagger2 ui的用法很简单,自己摸索.
版权声明:本文为weixin_49198221原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。