首页 > 编程语言 > 详细

springboot集成swagger2

时间:2019-12-20 15:09:53      阅读:93      评论:0      收藏:0      [点我收藏+]

引入依赖

       <!-- swagger2 -->
       <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.7.0</version>
       </dependency>
       <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.7.0</version>
       </dependency>

配置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

原文:https://www.cnblogs.com/tanouou/p/12072803.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!