Springboot—整合swagger2

前言:swagger2功能非常强大,用自己的一句话概括:它是一个构建强大的RESTful API文档以及调试的框架。

官方地址:https://swagger.io/

springboot整合非常简单,易学易用,步骤如下:

1、pom.xml所需依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.8.0</version>
</dependency>

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

 

2、配置swagger2

新建Swagger2Config.java文件,在扫包范围内

@Configuration
@EnableSwagger2
public class Swagger2Config {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2).produces(Sets.newHashSet("application/json"))
                .consumes(Sets.newHashSet("application/json")).protocols(Sets.newHashSet("http", "https"))
                .apiInfo(apiInfo()).forCodeGeneration(true).useDefaultResponseMessages(false).select()
                // 指定controller存放的目录路径
                .apis(RequestHandlerSelectors.basePackage("cn.fzy.controller")).paths(PathSelectors.any()).build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                // 文档标题
                .title("swagger2测试api文档")
                // 文档描述
                .description("这里填写API接口文档简要描述")
                // 系统版本号
                .version("v1").license("MIT 协议").licenseUrl("http://www.opensource.org/licenses/MIT")
                // 联系人姓名、网址、邮箱
                .contact(new Contact("fzy", "Http://www.fengziy.cn", "[email protected]")).build();
    }
}

 

3、配置静态资源路径映射

@Configuration
@EnableWebMvc
public class WebMvcConfig implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
}

 

4、管理RESTful接口

@Api(tags = { "测试接口" })
@RestController
public class TestController {

    @ApiOperation(value = "查询接口")
    @GetMapping("/test/{id}")
    public AjaxResult find(Integer id) {
        // TODO:查询
        return AjaxResult.success("查询结果");
    }

    @ApiOperation(value = "增加接口")
    @PostMapping("/test")
    public AjaxResult add(Object test) {
        // TODO:增加
        return AjaxResult.success("添加成功");
    }

    @ApiOperation(value = "删除接口")
    @DeleteMapping("/test/{id}")
    public AjaxResult delete(Integer id) {
        // TODO:删除
        return AjaxResult.success("删除成功");
    }

    @ApiOperation(value = "修改接口")
    @PutMapping("/text")
    public AjaxResult update(Integer id) {
        // TODO:修改
        return AjaxResult.success("修改成功");
    }
}

 

5、查看生成的api文档

 6、调试接口

总结:是不是很简单,这里只是简单的展示了方法,它还有更多的注解来描述接口、参数、返回值 。需要学习更多的可以到官网阅读文档。

希望对大家有所微薄的帮助。

                                                                                                 向上的路并不拥挤,到多数人选择了安逸!--it疯子也

发布了23 篇原创文章 · 获赞 41 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/feng_zi_ye/article/details/88753906