Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Spring Boot集成Restful Api在线文档接口调试工具 Swagger

Spring Boot集成Restful Api在线文档接口调试工具 Swagger

作者头像
百思不得小赵
发布于 2022-12-01 07:00:11
发布于 2022-12-01 07:00:11
1K00
代码可运行
举报
文章被收录于专栏:小赵Java总结小赵Java总结
运行总次数:0
代码可运行

文章目录

一、Swagger简介

Swagger的目标是为REST API 定义一个标准的,与语言无关的接口,使人和计算机在看不到源码或者看不到文档或者不能通过网络流量检测的情况下能发现和理解各种服务的功能。当服务通过Swagger定义,消费者就能与远程的服务互动通过少量的实现逻辑。类似于低级编程接口,Swagger去掉了调用服务时的很多猜测。

Swagger 是一个用于生成、描述和调用 RESTful 接口的 Web 服务。通俗的来讲,Swagger 就是将项目中所有(想要暴露的)接口展现在页面上,并且可以进行接口调用和测试的服务。

Swagger官网地址:https://swagger.io/

Swagger有什么用?

  • 将项目中所有的接口展现在页面上,这样后端程序员就不需要专门为前端使用者编写专门的接口文档;
  • 当接口更新之后,只需要修改代码中的 Swagger 描述就可以实时生成新的接口文档了,从而规避了接口文档老旧不能使用的问题;
  • 通过 Swagger 页面,我们可以直接进行接口调用,降低了项目开发阶段的调试成本。

二、环境准备

在开始开发之前,我们需要准备一些环境配置:

  • jdk 1.8 或其他更高版本
  • 开发工具 IDEA
  • 管理依赖 Maven

三、构建Spring Boot工程

打开idea -> file -> Nwe -> Project ,如图,勾选填写相关的配置信息:

勾选一些初始化的依赖配置:

工程搭建完成:

四、引入Swagger依赖

首先,我们要去 mvnrepository 查询 Swagger 的依赖

将依赖引入工程中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        <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>

五、编写一个Test控制器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.example.swagger_test.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author xiaoZhao
 * @date 2022/10/24
 * @describe
 */
@RestController
public class TestController {

    @GetMapping("hello")
    public String hello(){
        return "hello swagger";
    }
}

六、配置Swagger

编写Swagger配置类:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import org.springframework.context.annotation.Configuration;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * @author xiaoZhao
 * @date 2022/10/24
 * @describe
 */
@Configuration
@EnableSwagger2 // 开启Swagger2
public class SwaggerConfig {
    // 使用默认配置
}

访问:http://localhost:8080/swagger-ui.html 进入Swagger管理页面

从上图可以看到,接口文档详细信息、接口信息等

配置Swagger信息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.example.swagger_test.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.service.VendorExtension;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

import java.util.ArrayList;

/**
 * @author xiaoZhao
 * @date 2022/10/24
 * @describe
 */
@Configuration
@EnableSwagger2 // 开启Swagger2
public class SwaggerConfig {

    // 配置Swagger Docket
    @Bean
    public Docket docket(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo());
    }

    // 配置Swagger信息
    private ApiInfo apiInfo(){
        // 作者信息
        Contact contact = new Contact("小赵", "https://blog.csdn.net/Zp_insist?type=blog", "test@qq.com");

        return new ApiInfo("测试 Swagger API",
                "一个工程用来测试Swagger的使用",
                "1.0",
                "https://blog.csdn.net/Zp_insist?type=blog",
                contact,
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList<VendorExtension>());
    }
}

七、最终测试

重启工程进入Swagger管理页面

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【无痛学Python】Pandas统计分析基础,看这一篇就够了!
Pandas是基于NumPy的数据分析模块,它提供了大量的数据分析会用到的工具,可以说Pnadas是Python能成为强大数据分析工具的重要原因之一。
Skrrapper
2025/06/10
1400
高手系列!数据科学家私藏pandas高阶用法大全 ⛵
如果你是数据科学家、数据分析师、机器学习工程师,或者任何 python 数据从业者,你一定会高频使用 pandas 这个工具库——它操作简单功能强大,可以很方便完成数据处理、数据分析、数据变换等过程,优雅且便捷。
ShowMeAI
2022/12/04
6.3K0
高手系列!数据科学家私藏pandas高阶用法大全 ⛵
数据分析 ——— pandas基础(四)
利用pandas来进行数据处理的方法太多了,在这里继续更新一下对缺失数据的处理,以及数据的分组,聚合函数的使用。
andrew_a
2019/08/16
1.2K0
用 Pandas 进行数据处理系列 二
获取行操作df.loc[3:6]获取列操作df['rowname']取两列df[['a_name','bname']] ,里面需要是一个 list 不然会报错增加一列df['new']=list([...])对某一列除以他的最大值df['a']/df['a'].max()排序某一列df.sorted_values('a',inplace=True,ascending=True) , inplace 表示排序的时候是否生成一个新的 dataFrame , ascending=True 表示升序,默认为升序,如果存在缺失的补值( Nan ),排序的时候会将其排在末尾
zucchiniy
2019/10/30
8.4K0
50道练习实践学习Pandas!
原文地址:https://www.kesci.com/home/project/5ddc974ef41512002cec1dca
Datawhale
2020/02/14
3.9K0
python使用pandas的常用操作
Pandas 的名字来源于“Panel Data”和“Python Data Analysis Library”的缩写。它最初由 Wes McKinney 开发,旨在提供高效、灵活的数据操作和分析工具。Pandas 在数据科学、统计分析、金融、经济学等领域得到了广泛应用。
梦无矶小仔
2024/06/06
6080
python使用pandas的常用操作
Pandas进阶修炼120题,给你深度和广度的船新体验
本文为你介绍Pandas基础、Pandas数据处理、金融数据处理等方面的一些习题。
数据派THU
2020/07/17
6.3K0
Pandas数据聚合:groupby与agg
在数据分析中,数据聚合是一项非常重要的操作。Pandas库提供了强大的groupby和agg功能,使得我们能够轻松地对数据进行分组和聚合计算。本文将从基础概念、常见问题、常见报错及解决方案等方面,由浅入深地介绍如何使用Pandas的groupby和agg方法,并通过代码案例进行详细解释。
Jimaks
2024/12/23
1.5K0
Pandas常用的数据处理方法
本文的Pandas知识点包括: 1、合并数据集 2、重塑和轴向旋转 3、数据转换 4、数据聚合 1、合并数据集 Pandas中合并数据集有多种方式,这里我们来逐一介绍 1.1 数据库风格合并 数据库风格的合并指根据索引或某一列的值是否相等进行合并的方式,在pandas中,这种合并使用merge以及join函数实现。 先来看下面的例子: df1 = pd.DataFrame({'key':['b','b','a','c','a','a','b'],'data1':range(7)}) df2 = pd.Dat
石晓文
2018/04/11
8.6K0
Pandas常用的数据处理方法
13个Pandas实用技巧,有点香 !
归纳整理了一些工作中常用到的pandas使用技巧,方便更高效地实现数据分析。文章很短,不用收藏就能Get~
Python数据科学
2020/06/22
1.1K0
Pandas非常用技巧汇总
注意:由于NaN的存在,B列初始的数据类型是float,如果要变成整数,使用astype转换即可。
致Great
2023/08/25
6200
我的Python分析成长之路9
统计分析是数据分析的重要组成部分,它几乎贯穿整个数据分析的流程。运用统计方法,将定量与定性结合,进行的研究活动叫做统计分析。而pandas是统计分析的重要库。
py3study
2020/02/10
2.3K0
50个超强的Pandas操作 !!
首先给出一个示例数据,是一些用户的账号信息,基于这些数据,这里给出最常用,最重要的50个案例。
JOYCE_Leo16
2024/03/22
1K0
Pandas在Python面试中的应用与实战演练
Pandas作为Python数据分析与数据科学领域的核心库,其熟练应用程度是面试官评价候选者专业能力的重要依据。本篇博客将深入浅出地探讨Python面试中与Pandas相关的常见问题、易错点,以及如何避免这些问题,同时附上代码示例以供参考。
Jimaks
2024/04/19
9030
掌握Pandas库的高级用法数据处理与分析
在数据科学和机器学习领域,数据清洗和预处理是至关重要的步骤。Pandas库作为Python中最受欢迎的数据处理工具之一,提供了强大的功能来处理各种数据格式。本文将介绍Pandas的一些高级用法,帮助你更有效地进行数据清洗和预处理。
一键难忘
2024/05/09
5410
Pandas
Pandas 是 Python 的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。Pandas 的目标是成为 Python 数据分析实践与实战的必备高级工具,其长远目标是成为最强大、最灵活、可以支持任何语言的开源数据分析工具。经过多年不懈的努力,Pandas 离这个目标已经越来越近了。
爱编程的小明
2022/09/05
9.6K0
Pandas
Pandas库
通过这些基础知识和资源,你可以逐步深入学习Pandas,从而在数据分析领域游刃有余。
用户11315985
2024/10/16
1.2K0
Pandas库
快乐学习Pandas入门篇:Pandas基础
寄语:本文对Pandas基础内容进行了梳理,从文件读取与写入、Series及DataFrame基本数据结构、常用基本函数及排序四个模块快速入门。同时,文末给出了问题及练习,以便更好地实践。
Datawhale
2020/04/22
2.6K0
Pandas数据结构:Series与DataFrame
在数据分析领域,Python 的 Pandas 库因其强大的数据操作功能而广受欢迎。Pandas 提供了两种主要的数据结构:Series 和 DataFrame。本文将从基础概念出发,逐步深入探讨这两种数据结构的使用方法、常见问题及解决方案。
Jimaks
2024/12/17
3390
Pandas数据处理与分析教程:从基础到实战
Pandas是一个开源的Python库,提供了高性能、易用和灵活的数据结构,用于数据处理和分析。它建立在NumPy之上,使得处理结构化数据更加简单和高效。Pandas的两个主要数据结构是Series和DataFrame,可以理解为NumPy数组的增强版。它们提供了更多的功能和灵活性,使得数据处理变得更加直观和方便。
全栈若城
2024/02/29
9520
Pandas数据处理与分析教程:从基础到实战
相关推荐
【无痛学Python】Pandas统计分析基础,看这一篇就够了!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验