小白的springboot之路(二)、集成swagger

0-前言

  现在的项目开发,基本都是前后端分离,后端专注于API接口开发,都需要编写和维护API接口文档。如果你还在用Word来编写接口文档,那你就out了,这个时候,当当当当~神兵利器swagger隆重出场!Swagger根据项目自动生成API文档,可以帮助我们更好的编写和维护API文档。Spring boot集成swagger那是必须的,好不好用,谁用谁知道。

1-springboot 集成swagger

  swagger集成swagger很简单,只需几步即可:

1-1、添加maven依赖:

    <!-- 4、集成swagger -->
        <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>

1-2、添加swagger配置

package anson.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;


/**
 * @description: Swagger配置类
 * @author: anson
 * @Date: 2019/9/3 22:52
 * @version: 1.0
 */

@Configuration
@EnableSwagger2
public class SwaggerConfig
{
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                //swagger要扫描的包路径
                .apis(RequestHandlerSelectors.basePackage("anson.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("springboot Swagger 测试")
                .description("Springboot 整合Swagger2")
                .termsOfServiceUrl("localhost:8090")
                .contact(new Contact("Swagger测试","localhost:8090/swagger-ui.html","[email protected]"))
                .version("1.0")
                .build();
    }
}

1-3、在controller中加入相关swagger注解

package anson.controller;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

/**
 * @description: user接口
 * @author: anson
 * @Date: 2019/9/3 21:33
 * @version: 1.0
 */

@Api(value = "用户接口")
@RestController
@RequestMapping("/user")
public class User
{
    /*
     * @Author anson
     * @Description 有参数的方法
     * @Date 2019/9/3 23:29
     * @Param [id]
     * @return java.lang.String
    */
    @ApiOperation(value = "获取用户", notes = "根据id查询用户信息")
    @ApiImplicitParam(name = "id", value = "用户id", required=true, dataType="String") //API参数
    @RequestMapping(value="/getUserById",method= RequestMethod.GET)
    public String getUser(String id)
    {
        return ("Hello anson-" + id);
    }

    /*
     * @Author anson
     * @Description 无参数的方法
     * @Date 2019/9/3 23:29
     * @Param []
     * @return java.lang.String
    */
    @ApiOperation(value = "获取用户", notes = "获取用户信息")
    @RequestMapping(value="/getUser",method= RequestMethod.GET)
    public String getUser()
    {
        return "Hello anson!";
    }
}

完毕,就这么简单;运行行后输入配置的网址即可看见API文档,在上面可以直接运行API进行测试

 好,本节结束,下节见

猜你喜欢

转载自www.cnblogs.com/yanghj/p/11456590.html