springboot整合Swagger2

前言

最近在做一些demo,测试接口的时候总是有些麻烦,于是就引入了Swagger。

添加相关的maven依赖

需要添加 springfox-swagger2 和 springfox-swagger-ui,可以自己去maven中央仓库去搜一下,我这里提供一下用的最多的版本:

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

将swagger交给spring管理

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Springboot利用swagger构建api文档")
                .description("简单优雅的restful风格")
                .version("1.0")
                .build();
    }
}

编写controller

@RestController
@RequestMapping("/common")
@Api(tags = "测试swagger")
public class CommonController {

    @ApiOperation("测试swagger接口")
    @RequestMapping("/test")
    public ResponseData<String> test(@RequestParam String str) {
        return new ResponseData<>("111", "success", str);
    }
}

public class ResponseData<T> {
    private String code;
    private String msg;
    private T data;

    public ResponseData() {
    }

    public ResponseData(String code, String msg, T data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }
}

访问

在浏览器中访问"http://localhost:8080/swagger-ui.html",注意端口和你项目启动的端口保持一致即可。

posted on 2020-09-12 23:50  斜月三星一太阳  阅读(116)  评论(0编辑  收藏  举报