springboot整合swagger2步骤分享,swagger是什么?

KLQ 2020-07-27 15:40:12 java常见问答 3473

对于swagger你了解吗?那么springboot整合swagger2又该怎么去实现呢?下面一起来看看实现方式和含义吧!

1、什么是swagger?

简单的来说,swagger就是一个方便后端编写接口文档的开源项目,并提供界面化测试,swagger还是非常好理解的。

2、项目搭建

maven依赖

<!--swagger2-->
<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>

新建配置类

@Configuration
@EnableSwagger2
public class Swagger2 {
    /**
     * 通过 createRestApi函数来构建一个DocketBean
     * 函数名,可以随意命名,喜欢什么命名就什么命名
     */
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
            .apiInfo(apiInfo()) //调用apiInfo方法,创建一个ApiInfo实例,里面是展示在文档页面信息内容
            .select()
            //控制暴露出去的路径下的实例
            //如果某个接口不想暴露,可以使用以下注解
            //@ApiIgnore 这样,该接口就不会暴露在 swagger2 的页面下
            .apis(RequestHandlerSelectors.basePackage("com.example.zwd.springbootswagger2.controller"))
            .paths(PathSelectors.any())
            .build();
    }
    //构建 api文档的详细信息函数
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
            //页面标题
            .title("Spring Boot Swagger2 构建RESTful API")
            //条款地址
            .termsOfServiceUrl("http://despairyoke.github.io/")
            .contact("zwd")
            .version("1.0")
            //描述
            .description("API 描述")
            .build();
    }
}

新建测试controller类

@RestController
public class UserController
{
    @ApiOperation(value = "接口的功能介绍", notes = "提示接口使用者注意事项", httpMethod = "GET")
    @ApiImplicitParam(dataType = "string", name = "name", value = "姓名", required = true)
    @RequestMapping(value = "/")
    public String index(String name)
    {
        return "hello " + name;
    }
}

启动项目spring-boot-swagger2,访问 http://localhost:8080/swagger-ui.html

效果:

效果图

展开接口内部:

展开接口内部

点击try it out 输入姓名, Execute执行,返回如下图效果:

返回效果

你想成为java架构师吗?更多和这方面相关的知识,奇Q工具网都可以为你分享解答哦。

推荐阅读:

springboot整合kafka如何实现?示例

springboot整合dubbo如何实现?有何用处?

springboot整合mybatis如何实现?特点有哪些?