首页 > 编程语言 > 详细

SpringBoot整合Swagger2

时间:2020-07-04 21:46:34      阅读:61      评论:0      收藏:0      [点我收藏+]

SrpingBoot整合Swagger2

第一步:导入依赖jar包

<dependencies>
        <!-- web功能起步依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--swagger2相关依赖-->
        <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>
    </dependencies>

第二步:编写配置类:

package cn.blogsx.config;

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

@Configuration
@EnableSwagger2 //开启Swagger2
public class SwaggerConfig {
    @Bean
    Docket docket() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage("cn.blogsx.controller"))//配置接口路径
                .paths(PathSelectors.any())
                .build().apiInfo(new ApiInfoBuilder()
                .description("springboot整合swagger2测试文档")
                .contact(new Contact("思绪博客","https://www.blogsx.cn",
                        "304208719@qq.com"))
                .version("1.0")
                .title("api测试文档")
                .license("Apache2.0")
                .licenseUrl("http://www.baidu.com")
                .build());
    }
}

第三步:编写接口需要的实体类并添加注解

package cn.blogsx.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

@ApiModel(value = "用户实体类",description = "用户信息描述类")
public class User {
    @ApiModelProperty(value = "用户名")
    private String  username;
    @ApiModelProperty(value = "用户地址")
    private String address;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "User{" +
                "username=‘" + username + ‘\‘‘ +
                ", address=‘" + address + ‘\‘‘ +
                ‘}‘;
    }
}

第三步:编写controller并添加相关注解

package cn.blogsx.controller;

import cn.blogsx.entity.User;
import io.swagger.annotations.*;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;

@RestController
@Api(tags = "用户接口数据")
public class UserController {
    @ApiOperation(value = "查询用户",notes = "根据id查询用户")
    @ApiImplicitParam(paramType = "path",name = "id",value = "用户id",required = true)
    @GetMapping("/user/{id}")
    public String getUserById(@PathVariable Integer id){
        return "/user/"+id;
    }


    @ApiResponses({
            @ApiResponse(code = 200,message = "删除成功"),
            @ApiResponse(code = 500,message = "删除失败!")})
    @ApiOperation(value = "删除用户",notes = "通过id删除用户")
    @DeleteMapping("/user/{id}")
    public Integer deleteUserById(@PathVariable Integer id){
        return id;
    }

    @ApiOperation(value = "添加用户",notes = "添加用户,传入一个用户名和地址")
    @ApiImplicitParams({
    @ApiImplicitParam(paramType = "query",name = "username" ,value = "用户名",required = true,defaultValue = "alex"),
    @ApiImplicitParam(paramType = "query",name = "address" ,value = "用户地址",required = true,defaultValue = "alex888")})
    @PostMapping("/user")
    public String addUser(@RequestParam String username,
                          @RequestParam String address){
        return username+":"+address;

    }


    @ApiOperation(value = "修改用户",notes = "修改用户,传入用户信息")
    @PutMapping("/user")
    public String updateUser(@RequestBody User user){
        return user.toString();

    }

    @GetMapping("/ignore")
    @ApiIgnore
    public void ignoreMethod() {

    }
}

第五步:查看接口文档:

http://localhost:8080/swagger-ui.html

SpringBoot整合Swagger2

原文:https://www.cnblogs.com/sxblog/p/13236517.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!