springboot整合Swagger

96 阅读1分钟

环境

  • springboot
  • swagger2.x

实现过程

1、创建一个springboot项目工程,添加依赖

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

2、添加配置文件

//swagger2的配置文件,在项目的启动类的同级文件建立
@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()  // 选择那些路径和api会生成document
                .apis(RequestHandlerSelectors.any()) // 对所有api进行监控
                .paths(PathSelectors.any()) // 对所有路径进行监控
                .build();
    }

}

3、准备控制类

@PostMapping("/hello")
    @ApiOperation(value = "测试",notes = "这是一个测试文档")
    public String hello(){
        return "hello";
    }

4、启动项目,访问地址:http://localhost:端口/swagger-ui.html/ 在这里插入图片描述 在这里插入图片描述 这里可以进行测试 在这里插入图片描述

Swagger全部是以JSON的格式向后台传参的

这是非常重要的一点,我自己找了很多文章才发现的,入参都是以json格式的,也就是说只支持@RequestBody的入参。

想下面这个就不行:

@GetMapping("/test")
    public String test(String test){
        return test;
    }

大家可以看到响应体是no content 在这里插入图片描述 其实这里也已经给我们答案了,参数类型只支持json格式在这里插入图片描述