【SpringBoot专题_02】springboot集成Swagger详细教程

简介: 【SpringBoot专题_02】springboot集成Swagger详细教程

前言

技术栈:springboot、swagger2

gitee源码地址https://gitee.com/shawsongyue/sevenhee_modules/tree/master/springboot_swagger

1.基础maven依赖

<!--Swagger-UI API文档生产工具-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.7.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.7.0</version>
        </dependency>

2.目录结构与配置文件

application.yml

server:
  port: 8080

3.创建swagger配置类(Swagger2Config.class)

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;
/**
 * swagger2配置
 *
 * @author xiaosongyue
 * @date 2021/04/16 11:09:04
 */
@Configuration
@EnableSwagger2
public class Swagger2Config {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                //api基础信息
                .apiInfo(apiInfo())
                //选择路径api
                .select()
                //设置为当前包路径
                .apis(RequestHandlerSelectors.basePackage("com.xsy.sevenhee.controller")).paths(PathSelectors.any())
                //构建
                .build();
    }
    /**
     * 构建Api文档的详细信息函数
     *
     * @return {@link ApiInfo}
     */
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                //页面标题
                .title("spring Boot 测试使用 构建RestFul API")
                //创建人消息
                .contact(new Contact("xiaosongyue", "http://www.baidu.com", "1729497919@qq.com"))
                //版本号
                .version("1.0")
                //描述
                .description("api 描述")
                //构建
                .build();
    }
}

4.创建controller层进行swagger文档注解编写(SwaggerController.class)

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
/**
 * swagger控制器
 *
 * @author xiaosongyue
 * @date 2021/04/16 11:26:39
 */
@RestController
@RequestMapping("/swagger")
@Api(value = "swagger模块",tags = "swaggerController")
public class SwaggerController {
    @GetMapping("/add")
    @ApiOperation(value = "增加",notes = "增加信息")
    public String add(String username,String password){
        System.out.println("账号:"+username);
        System.out.println("密码:"+password);
        return "增加成功";
    }
    @DeleteMapping("/delete")
    @ApiOperation(value = "删除",notes = "删除信息")
    public String delete(String id){
        System.out.println("要删除的id:"+id);
        return "删除成功";
    }
    @PostMapping("/update")
    @ApiOperation(value = "修改",notes = "修改信息")
    public String update(String id,String context){
        System.out.println("要删除的id:"+id);
        System.out.println("要删除的内容:"+context);
        return "修改成功";
    }
    @GetMapping("/select")
    @ApiOperation(value = "查询",notes = "查询信息")
    public String select(){
        System.out.println("开始查询");
        return "查询成功";
    }
}

4.创建主启动类

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
 * swagger应用程序
 *
 * @author xiaosongyue
 * @date 2021/04/16 11:08:27
 */
@SpringBootApplication
public class SwaggerApplication {
    public static void main(String[] args) {
        SpringApplication.run(SwaggerApplication.class,args);
    }
}

5.启动访问接口

访问地址:http://localhost:8080/swagger-ui.html

6.git源码地址

访问地址:https://gitee.com/shawsongyue/sevenhee_modules/tree/master/springboot_swagger

7.若有问题,欢迎交流

相关文章
|
3月前
|
Cloud Native Java C++
Springboot3新特性:开发第一个 GraalVM 本机应用程序(完整教程)
文章介绍如何在Spring Boot 3中利用GraalVM将Java应用程序编译成独立的本机二进制文件,从而提高启动速度、减少内存占用,并实现不依赖JVM运行。
374 1
Springboot3新特性:开发第一个 GraalVM 本机应用程序(完整教程)
|
3天前
|
存储 安全 Java
Spring Boot 3 集成Spring AOP实现系统日志记录
本文介绍了如何在Spring Boot 3中集成Spring AOP实现系统日志记录功能。通过定义`SysLog`注解和配置相应的AOP切面,可以在方法执行前后自动记录日志信息,包括操作的开始时间、结束时间、请求参数、返回结果、异常信息等,并将这些信息保存到数据库中。此外,还使用了`ThreadLocal`变量来存储每个线程独立的日志数据,确保线程安全。文中还展示了项目实战中的部分代码片段,以及基于Spring Boot 3 + Vue 3构建的快速开发框架的简介与内置功能列表。此框架结合了当前主流技术栈,提供了用户管理、权限控制、接口文档自动生成等多项实用特性。
28 8
|
1月前
|
XML Java API
Spring Boot集成MinIO
本文介绍了如何在Spring Boot项目中集成MinIO,一个高性能的分布式对象存储服务。主要步骤包括:引入MinIO依赖、配置MinIO属性、创建MinIO配置类和服务类、使用服务类实现文件上传和下载功能,以及运行应用进行测试。通过这些步骤,可以轻松地在项目中使用MinIO的对象存储功能。
|
2月前
|
消息中间件 Java Kafka
什么是Apache Kafka?如何将其与Spring Boot集成?
什么是Apache Kafka?如何将其与Spring Boot集成?
79 5
|
2月前
|
安全 Java API
【三方服务集成】最新版 | 阿里云短信服务SMS使用教程(包含支持单双参数模板的工具类,拿来即用!)
阿里云短信服务提供API/SDK和控制台调用方式,支持验证码、通知、推广等短信类型。需先注册阿里云账号并实名认证,然后在短信服务控制台申请资质、签名和模板,并创建AccessKey。最后通过Maven引入依赖,使用工具类发送短信验证码。
【三方服务集成】最新版 | 阿里云短信服务SMS使用教程(包含支持单双参数模板的工具类,拿来即用!)
|
2月前
|
Java 测试技术 API
详解Swagger:Spring Boot中的API文档生成与测试工具
详解Swagger:Spring Boot中的API文档生成与测试工具
59 4
|
2月前
|
消息中间件 Java Kafka
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
63 1
|
2月前
|
XML Java 数据库连接
SpringBoot集成Flowable:打造强大的工作流管理系统
在企业级应用开发中,工作流管理是一个核心组件,它能够帮助我们定义、执行和管理业务流程。Flowable是一个开源的工作流和业务流程管理(BPM)平台,它提供了强大的工作流引擎和建模工具。结合SpringBoot,我们可以快速构建一个高效、灵活的工作流管理系统。本文将探讨如何将Flowable集成到SpringBoot应用中,并展示其强大的功能。
406 1
|
3月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
103 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
2月前
|
消息中间件 监控 Java
您是否已集成 Spring Boot 与 ActiveMQ?
您是否已集成 Spring Boot 与 ActiveMQ?
61 0