springboot集成Swagger2构建RESTful API文档

  • Post author:
  • Post category:其他


什么是Swagger2

可以自行百度了解

Swagger2提供了什么能力

  • 随项目自动生成强大RESTful API文档,减少工作量
  • API文档与代码整合在一起,便于同步更新API说明
  • 页面测试功能来调试每个RESTful API

集成Swagger2

1.修改pom.xml, 添加Swagger2依赖

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

2.创建Swagger2配置类

在spring boot启动类所在包或子包中创建Swagger配置类SwaggerConfig.java,如下:

SwaggerConfig.java内容如下:

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.boot"))// 指定扫描包下面的注解
                .paths(PathSelectors.any())
                .build();
    }
    // 创建api的基本信息
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("集成Swagger2构建RESTful APIs")
                .description("集成Swagger2构建RESTful APIs")
                .termsOfServiceUrl("https://www.baidu.com")
                .contact("zhangsan")
                .version("1.0.0")
                .build();
    }
}

3.创建Controller: SwaggerController.java

@RestController
@RequestMapping(value="/swagger")
public class SwaggerController {
    @ApiOperation(value="获取用户信息", notes="根据id来获取用户详细信息")
    @ApiImplicitParam(name="id", value="用户ID", required=true, dataType="String")
    @RequestMapping(value="/{id}", method=RequestMethod.GET)
    public Map<String,String> getInfo(@PathVariable String id) {
      Map<String ,String> map = new HashMap<String, String>();
      map.put("name", "沐宇熙");
      map.put("age", "26");
        return map;
    }
}

4.启动Spring boot,访问Swagger UI界面:




http://localhost:8081/swagger-ui.html



5.测试API:

集成Swagger2源码成功!




更多知识参见[持续更新]




springboot教程目录



版权声明:本文为qq_31463999原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。