【Swagger】只需要3步搭建Swagger环境,就可以让你的项目实现Swagger在线文档,实时浏览,修改展示

news2024/9/27 5:48:29

目录

1. pom.xml文件中添加Swagger的jar包

2. 配置Swagger 

3. 项目启动中加入Swagger注解的开关,启动Swagger功能

4. 启动项目,查看效果


Swagger 的功能这里就不多说明了,相信大家都懂的,好奇多问一句,大家有知道其他类似Swagger的替代品吗?欢迎留言一起交流!!

只需要三步,快速启用Swagger功能,让你的项目实现Swagger在线文档,实时浏览,修改展示

1. pom.xml文件中添加Swagger的jar包

2. 配置Swagger 

3. 项目启动中加入Swagger注解的开关,启动Swagger功能

具体如下:

1. pom.xml文件中添加Swagger的jar包

我这里使用的spring boot是2.1.4的版本

 <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
    </parent>

Swagger 依赖:

  <!-- swagger -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.1</version>
        </dependency>
        <!-- swagger-ui -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.10.0</version>
        </dependency>
        <!--  解决 Illegal DefaultValue null for parameter type integer    异常  -->
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-annotations</artifactId>
            <version>1.5.21</version>
        </dependency>
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-models</artifactId>
            <version>1.5.21</version>
        </dependency>

2. 配置Swagger 


@Configuration
@EnableSwagger2
public class Swagger2 {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.gcc.account"))
                .paths(PathSelectors.any())
                .build();
    }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("GCC Account API")
                .contact(new Contact("gcc", "", ""))
                .version("1.0")
                .description("API描述")
                .build();
    }
}

3. 项目启动中加入Swagger注解的开关,启动Swagger功能

@SpringBootApplication(exclude = {
        DataSourceAutoConfiguration.class
})
@EnableSwagger2
public class AccountApplication {

    public static void main(String[] args) {
        SpringApplication.run(AccountApplication.class, args);
    }

}

下面这一步是在每个Controller 类上面加上swagger 注册的说明信息,其实这一步,可加可不加,不影响swagger文档的生成预览,

// 这一步是在每个Controller 类上面加上swagger 注册的说明信息,其实这一步,可加可不加,不影响swagger文档的生成预览,


@Api(tags = "用户账号相关api")
@RestController
@RequestMapping("/account")
public class AccountController {

    /**
     * 根据用户ID查询用户信息
     */
    @ApiOperation(value = "根据用户ID获取用户信息",notes = "根据用户ID获取用户信息")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "path", name = "userId", value = "用户ID", required = true, dataType = "Long")
    })
    @GetMapping(value = "/{userId}" )
    public Wrapper<String> findByUserId(@PathVariable(value = "userId") Long userId){
        return WrapMapper.wrap(Wrapper.SUCCESS_CODE, Wrapper.SUCCESS_MESSAGE, "findByUserId");
    }
}

4. 启动项目,查看效果

访问地址: http://localhost:8011/gccaccount/swagger-ui.html#/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/889687.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python文件操作教程,Python文件操作笔记

文件的打开与关闭 想一想&#xff1a; 如果想用word编写一份简历&#xff0c;应该有哪些流程呢&#xff1f; 打开word软件&#xff0c;新建一个word文件写入个人简历信息保存文件关闭word软件 同样&#xff0c;在操作文件的整体过程与使用word编写一份简历的过程是很相似的…

数据科学家需要掌握的Docker要点

大家好&#xff0c;Python以及pandas和scikit-learn等Python数据分析和机器学习库套件可以帮助你轻松开发数据科学应用程序。然而Python中的依赖性管理是一项挑战&#xff0c;在进行数据科学项目时&#xff0c;需要花费大量时间安装各种库&#xff0c;并跟踪正在使用的库的版本…

linux系统服务学习(八)DNS域名系统配置

文章目录 DNS域名管理系统一、DNS概述1、DNS系统概述☆ DNS的正向解析☆ DNS的反向解析☆ 根域&#xff08;.&#xff09;☆ 一级域名<顶级域|国家域>☆ 二级域名(自己购买管理)☆ 域名机构 2、DNS工作原理3、dig工具使用 二、DNS服务器的搭建1、DNS服务器端软件2、DNS服…

运行软件mfc140u.dll丢失怎么办?mfc140u.dll的三个修复方法

最近我在使用一款软件时遇到了一个问题&#xff0c;提示缺少mfc140u.dll文件。。这个文件是我在使用某个应用程序时所需要的&#xff0c;但是由于某种原因&#xff0c;它变得无法正常使用了。经过一番搜索和了解&#xff0c;我了解到mfc140u.dll是Microsoft Visual Studio 2015…

关于openfeign调用时content-type的问题

问题1描述&#xff1a; 今天在A服务使用openfeign调用B服务的时候&#xff0c;发现经常会偶发性报错。错误如下&#xff1a; 情况为偶发&#xff0c;很让人头疼。 两个接口如下&#xff1a; A服务接口&#xff1a; delayReasonApi.test(student);就是使用openfeign调用B服务的…

计组 | DMA

前言 记录一些计组相关联的题集与知识点&#xff0c;方便记忆与理解。 DMA 采用DMA方式传送数据时&#xff0c;每传送一个数据就要用一个&#xff08; C&#xff09;时间。 A 指令周期 B 机器周期 C 存储周期 D 总线周期发…

macOS(m1/m2)破解Sublime Text和Navicat16

破解Sublime Text 说明&#xff1a;全程使用的是终端操作 1. 下载Sublime Text&#xff0c;建议使用brew下载 2. 进入到下载的app的文件夹 cd "/Applications/Sublime Text.app/Contents/MacOS/"3. 执行以下操作以确认版本是否匹配 md5 -q sublime_text | grep -i…

分析区域产业发展现状,谋划产业发展路径,提升产业竞争力

随着经济全球化的深入发展&#xff0c;产业与区域经济发展有着不可分割的关系&#xff0c;产业是区域经济发展的基础&#xff0c;产业链的形成可以促进区域经济的协调发展&#xff0c;产业竞争力的提升能够带动区域经济的增长。那么该如何打造区域产业链闭环&#xff0c;提升产…

如何将labelImg打包成exe

最近整理一下数据标注这块的内容&#xff0c;在目标检测和目标分割里面用的最多的标注工具labelimg&#xff0c;labelme labelimg主要用于目标检测领域制作自己的数据集&#xff0c;如&#xff1a;YOLO系列目标检测模型 labelme主要用于图像分割领域制作自己的数据集&#xf…

静态代码测试工具HelixQAC新版对MISRA C规则提供100%覆盖率

Helix QAC 2023.2中的新增功能 Helix QAC 2023.2对 MISRA C:2012 和 MISRA C:2023 规则提供了100% 的覆盖率&#xff0c;并更新了相应的合规性模块以适用于MISRA C:2023。此外&#xff0c;此版本还包括改进的 C23 语言支持、对 Validate 平台的改进和 Helix QAC 和 Validate 的…

什么是客户自助服务?

自助服务是指通过自动化技术和系统&#xff0c;使顾客或用户能够自主完成某些服务或操作&#xff0c;而无需直接依赖人工的帮助。它提供了一种方便、快捷和高效的方式&#xff0c;让用户可以自行完成特定任务或获取所需的信息。 自助服务可以在各种场景中应用&#xff0c;例如…

unity拓展 unity自带的类(Tranform为例)

因为我们使用了ILRuntime热更&#xff0c;unity 打出的WebGL包&#xff0c;运行就会报找不到DoTween里面的方法&#xff0c;所以吧DoTween拓展到tranform类里面&#xff0c;这样就不会报错了&#xff0c;下面是示例 using DG.Tweening; using System.Collections; using Syste…

Python搭建http文件服务器实现手机电脑文件传输功能

第一种代码的界面如下&#xff1a;&#xff08;有缺点&#xff0c;中文乱码&#xff09; # !/usr/bin/env python3 # -*- coding:utf-8 _*-"""Simple HTTP Server With Upload. python -V3.6 This module builds on http.server by implementing the standard G…

java 工程管理系统源码+项目说明+功能描述+前后端分离 + 二次开发 em

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下&#xff1a; 首页 工作台&#xff1a;待办工作、消息通知、预警信息&#xff0c;点击可进入相应的列表 项目进度图表&#xff1a;选择&#xff08;总体或单个&#xff09;项目显…

适合使用CRM系统的行业有哪些?

激烈的竞争环境下&#xff0c;企业急需一款工具来管理客户关系。CRM正是这样一款软件&#xff0c;可以帮助企业管理客户&#xff0c;提高客户满意度&#xff0c;从而实现业绩增长。那么&#xff0c;哪些行业适合使用CRM系统&#xff1f;为什么&#xff1f; 一、零售行业 CRM系…

redis-基础

1、redis简述 redis 是一门C语音开发的&#xff0c;redis开发者&#xff0c;一开始的本意是作用消息队列&#xff0c;后面随着IT圈的迅速发展&#xff0c;redis不满足诉求&#xff1b;最后开发成k/v形式的内存存储的工具 特性&#xff1a;速度快、单进程单线程、支持集群、持…

32.Netty源码之服务端如何处理客户端新建连接

highlight: arduino-light 服务端如何处理客户端新建连接 Netty 服务端完全启动后&#xff0c;就可以对外工作了。接下来 Netty 服务端是如何处理客户端新建连接的呢&#xff1f; 主要分为四步&#xff1a; md Boss NioEventLoop 线程轮询客户端新连接 OP_ACCEPT 事件&#xff…

CS:GO升级 Linux不再是“法外之地”

在前天的VAC大规模封禁中&#xff0c;有不少Linux平台的作弊玩家也迎来了“迟到”的VAC封禁。   一直以来&#xff0c;Linux就是VAC封禁的法外之地。虽然大部分玩家都使用Windows平台进行游戏。但实际上&#xff0c;使用Linux畅玩CS:GO的玩家也不在少数。 以前V社主要打击W…

【React学习】—组件三大核心属性: state(七)

【React学习】—组件三大核心属性: state&#xff08;七&#xff09; 2.2.2. 理解 state是组件对象最重要的属性, 值是对象(可以包含多个key-value的组合)组件被称为"状态机", 通过更新组件的state来更新对应的页面显示(重新渲染组件) 2.2.3. 强烈注意 组件中rend…

版本控制工具Git集成IDEA的学习笔记(第一篇Gitee)

目录 一、Gitee的使用 1、注册网站会员 2、用户中心 3、创建远程仓库 4、配置SSH免密登录 二、集成IDEA&#xff0c;Git项目搭建 1、本地仓库搭建 1&#xff09;创建一个新项目 2&#xff09;打开终端&#xff0c;在当前目录新建一个Git代码库 3&#xff09;忽略文件 …