SpringBoot整合Swagger

swagger说明

Swagger 是⼀系列列 RESTful API 的⼯具,通过 Swagger 可以获得项⽬目的⼀种交互式文档,客户端 SDK 的⾃动生成等功能。

修改pom文件

在pom文件中新增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>

创建swagger配置类

package com.chen.springbootswagger.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.ApiInfo;
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
public class SwaggerConfig {

    @Bean
    public Docket api(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.chen.springbootswagger"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo(){
        return new ApiInfoBuilder()
                .title("用户管理")
                .description("用户管理中心 API 1.0 文档说明")
                .termsOfServiceUrl("http://chenyongpeng.xyz")
                .version("1.0")
                .contact(new Contact("陈永鹏","http://chenyongpeng.xyz","947796393@qq.com"))
                .build();
    }
}

新建Controller

package com.chen.springbootswagger.controller;

import com.chen.springbootswagger.entity.User;
import com.chen.springbootswagger.utils.BaseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@Api(value = "用户管理", description = "用户操作 API")
public class UserController {

    @ApiOperation(value = "添加用户", notes = "根据参数创建用户")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType="Long", paramType = "query"),
            @ApiImplicitParam(name = "name", value = "用户名称", required = true, dataType="String", paramType = "query"),
            @ApiImplicitParam(name = "sex", value = "用户性别", required = false, dataType="String", paramType = "query")})
    @PostMapping(value = "message")
    public BaseResult<User> create(User user) {
        return new BaseResult<>(0,"ok",new User());
    }
}

新建通用实体类

package com.chen.springbootswagger.utils;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;

@ApiModel(description = "响应对象")
@Getter
@Setter
@AllArgsConstructor
public class BaseResult<T> {

    private static final int SUCCESS_CODE = 0;
    private static final String SUCCESS_MSG = "ok";

    @ApiModelProperty(value = "响应消息",name = "msg",required = true,example = "" + SUCCESS_CODE)
    private int code;

    @ApiModelProperty(value = "响应消息",name = "msg")
    private String msg;

    @ApiModelProperty(value = "响应数据",name = "data")
    private T data;
}

实体类

package com.chen.springbootswagger.entity;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;

@Data
@Getter
@Setter
public class User {
    private int id;
    private String name;
    private String sex;
}

运行项目

在浏览器输入: http://127.0.0.1:8080/swagger-ui.html
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值