springboot集成swagger2

引入依赖

       
       
            io.springfox
            springfox-swagger2
            2.7.0
       
       
            io.springfox
            springfox-swagger-ui
            2.7.0
       

配置swagger2

新建一个类Swagger2Conf,类名随便写

@Configuration
@EnableSwagger2
public class Swagger2Conf {
    @Bean
    public Docket createRestApi(){
        return new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(apiInfo())
        .select()
        //这是扫描swagger2注解的包路径,根据项目实际编写
        .apis(RequestHandlerSelectors.basePackage("com.ouou.controller"))
        .paths(PathSelectors.any())
        .build();
      }
    private ApiInfo apiInfo(){
        return new ApiInfoBuilder()
        .title("swagger构建api文档")
        .description("")
        .version("1.0")
        .build();
  }
}

注意:这个类要加上 @Configuration 和 @EnableSwagger2 注解,@EnableSwagger2这个注解也可以写在启动类上。

swagger2注解详解

@ApiOperation 对接口的描述
@ApiParam 对接口参数的描述 (用于普通参数上)
@ApiModelProperty 对接口参数的描述(用于对象的属性上)

生成在线文档

新建一个Dto类,用于接收参数

public class UserDto {
   //@ApiModelProperty用于对象的属性上
    @ApiModelProperty(value="用户id")
    private String id;
    @ApiModelProperty(value="名称")
    private String name;
    @ApiModelProperty(value="性别")
    private String sex;

新建Controller类

@RestController
public class HelloController {
    @GetMapping("/user/getUser/{name}/{sex}")
    @ApiOperation(value="根据条件查询用户信息")
    public User getUser(@ApiParam(value="名称",required=true) @PathVariable("name") String name,@ApiParam("性别") @PathVariable("sex") String sex){
        User user = new User();
        user.setId("1");
        user.setName("欧欧专区");
        user.setSex("女");
        return user;
    }
    
    @PostMapping("/user/updateUser")
    @ApiOperation(value="根据条件更新用户信息")
    public User updateUser(UserDto userDto){
        User user = new User();
        user.setId(userDto.getId());
        user.setSex(userDto.getSex());
        user.setName(userDto.getName());
        return user;
    }
    
    @PostMapping("/user/update2User")
    @ApiOperation(value="根据条件更新用户信息 参数为body")
    public User update2User(@RequestBody UserDto userDto){
        User user = new User();
        user.setId(userDto.getId());
        user.setSex(userDto.getSex());
        user.setName(userDto.getName());
        return user;
    }

}

访问swagger2

springboot集成swagger2_第1张图片

你可能感兴趣的:(springboot集成swagger2)