【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.若有问题,欢迎交流

相关文章
|
安全 Java Apache
微服务——SpringBoot使用归纳——Spring Boot中集成 Shiro——Shiro 身份和权限认证
本文介绍了 Apache Shiro 的身份认证与权限认证机制。在身份认证部分,分析了 Shiro 的认证流程,包括应用程序调用 `Subject.login(token)` 方法、SecurityManager 接管认证以及通过 Realm 进行具体的安全验证。权限认证部分阐述了权限(permission)、角色(role)和用户(user)三者的关系,其中用户可拥有多个角色,角色则对应不同的权限组合,例如普通用户仅能查看或添加信息,而管理员可执行所有操作。
602 0
|
安全 Java 数据安全/隐私保护
微服务——SpringBoot使用归纳——Spring Boot中集成 Shiro——Shiro 三大核心组件
本课程介绍如何在Spring Boot中集成Shiro框架,主要讲解Shiro的认证与授权功能。Shiro是一个简单易用的Java安全框架,用于认证、授权、加密和会话管理等。其核心组件包括Subject(认证主体)、SecurityManager(安全管理员)和Realm(域)。Subject负责身份认证,包含Principals(身份)和Credentials(凭证);SecurityManager是架构核心,协调内部组件运作;Realm则是连接Shiro与应用数据的桥梁,用于访问用户账户及权限信息。通过学习,您将掌握Shiro的基本原理及其在项目中的应用。
454 0
|
6月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1150 5
|
9月前
|
前端开发
SpringBoot2.3.1集成Knife4j接口文档
SpringBoot2.3.1集成Knife4j接口文档
1009 44
|
8月前
|
JSON 分布式计算 大数据
springboot项目集成大数据第三方dolphinscheduler调度器
springboot项目集成大数据第三方dolphinscheduler调度器
531 3
|
8月前
|
缓存 JSON 前端开发
第07课:Spring Boot集成Thymeleaf模板引擎
第07课:Spring Boot集成Thymeleaf模板引擎
783 0
第07课:Spring Boot集成Thymeleaf模板引擎
|
8月前
|
Java 关系型数据库 MySQL
springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
837 2
|
8月前
|
分布式计算 Java 大数据
springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理
springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理
469 2
|
分布式计算 大数据 Java
springboot项目集成大数据第三方dolphinscheduler调度器 执行/停止任务
springboot项目集成大数据第三方dolphinscheduler调度器 执行/停止任务
213 0

热门文章

最新文章