springboot集成swagger2

作为后台开发人员,在进行controller接口调试的时候,每次都用postman或者在xml文本里写form表单进行请求,比较麻烦,后来发现用swagger可以大大的简化这一过程,现将springboot如何集成进行一下记录。

1、何为swagger

Swagger是一款RESTful接口的文档在线自动生成、功能测试功能框架。一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务,加上swagger-ui,可以有很好的呈现。

2、springboot如何集成swagger

2.1先新建一个springboot工程

可参考上一篇博客:idea创建springboot工程: https://blog.csdn.net/u014429653/article/details/84726466;
eclipse创建springboot工程:https://blog.csdn.net/u014429653/article/details/84722029

2.2创建controller接口,可在浏览器访问springboot集成swagger2springboot集成swagger2

2.2引入swagger对应的jar包

        <!--对swagger-ui的支持-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>

springboot集成swagger2

2.3编写配置文件

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    //是否开启swagger,正式环境一般是需要关闭的,可根据springboot的多环境配置进行设置
    @Value(value = "${swagger.enabled}")
    Boolean swaggerEnabled;

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                // 是否开启
                .enable(swaggerEnabled).select()
                // 扫描的路径包
                .apis(RequestHandlerSelectors.basePackage("com.example.springbootdemo.controller"))
                // 指定路径处理PathSelectors.any()代表所有的路径
                .paths(PathSelectors.any()).build().pathMapping("/");
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("SpringBoot-Swagger2集成和使用-demo示例")
                .description("wuKong")
                // 作者信息
                .contact(new Contact("wuKong", "https://blog.csdn.net/u014429653", "邮箱"))
                .version("1.0.0")
                .build();
    }
}

springboot集成swagger2

2.4添加文档内容(一般在Controller请求参数上进行注解)

在类名上添加注释@Api(tags = “TestController”, description = “测试接口相关”)
在方法名上添加注释@ApiOperation(value = “进行打招呼户测试”, notes = “请求返回打招呼的字符串”)
springboot集成swagger2

2.5访问本地swagger地址

http://localhost:8080/swagger-ui.html#/
springboot集成swagger2
点击execute可发起请求
springboot集成swagger2

2.6往后台传入参数

使用@RequestParam注解
springboot集成swagger2
springboot集成swagger2

注意:

在方法名上需注释请求类型method = RequestMethod.GET,否则swagger页面会生成所有的请求类型
@RequestMapping(value = “/hello1”, method = RequestMethod.GET)
springboot集成swagger2

上一篇:Spring Boot 集成swagger2


下一篇:将swagger2接口导入yapi