Swagger2在java中的入门操作

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版权协议,转载请附上原文出处链接和本声明。