文章目录

  • 一、Swagger简介
    • Swagger有什么用?
  • 二、环境准备
  • 三、构建Spring Boot工程
  • 四、引入Swagger依赖
  • 五、编写一个Test控制器
  • 六、配置Swagger
  • 七、最终测试

一、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 的依赖

将依赖引入工程中:

        <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控制器

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配置类:

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信息:

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@Beanpublic 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管理页面

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

  1. Spring Boot 通过Restful API,在PostMan 中返回数据

    Spring Boot 通过Restful API,在PostMan 中返回数据 资源组 新增 POST/resource_group/ad 请求体:格式:from-data参数:groupName= ...

  2. Spring Boot与RESTful API

    2019独角兽企业重金招聘Python工程师标准>>> 在上一篇Spring Boot开发WEB页面文章中,我们介绍了如何搭建一个有页面的web项目,这一篇我们则着重讲一下Sprin ...

  3. 几个在线文档接口生成工具

    好用的在线文档生成工具,具体要求如下: 1.能够实时生成在线文档 2.支持全文搜索 3.支持在线调试功能 4.界面美观 说实话,这个需求看起来简单,但是实际上一点的都不简单. 我花了几天时间到处百度, ...

  4. Spring Doc 生成OPEN API 3文档

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | developlee 来源 | 公众号「锅外的 ...

  5. android api在线文档_通过 API 远程管理 Jenkins

    背景介绍 最近接到一个需求,需要对公司内部的Android性能测试平台的分支管理模块进行改造. 为了更好地说明问题,在下图中展示了一个精简的持续集成测试系统. 在该系统中,Jenkins负责定时检测代 ...

  6. springboot实战pdf_腾讯架构师Spring Boot实战篇(PDF文档)

    前言: 什么是Spring Boot?? Spring Boot应用本质上就是一个基于Spring框架的应用 Spring Boot的核心是什么? 自动配置 起步依赖 Actuator 命令行界面(C ...

  7. Spring Boot构建RESTful API与单元测试

    首先,回顾并详细说明一下在快速入门中使用的@Controller.@RestController.@RequestMapping注解.如果您对Spring MVC不熟悉并且还没有尝试过快速入门案例,建 ...

  8. JDK API 在线文档

    版本号有点老,是 JavaTM Platform Standard Edition 6,但可以从右上角链接跳转到JDK7文档. http://tool.oschina.net/apidocs/apid ...

  9. 【java spring boot使用easypoi实现word文档占位符替换文字和图片、Excel图片贴到对应单元格】

    最近接到一个任务,写两个导出工具:1.word文档导出,将数据和图片放入到word中,将多个word合并为一个导出.2.Excel文档导出,将二维码信息和图片按照模板放入到Excel中,按9个一页排版 ...

最新文章

  1. android studio 顶部导航栏_Android10 手势导航开发与处理:边到边(I)
  2. 自定义dropout
  3. crontab FAQ
  4. 用纯C面向过程写icefox3的代码
  5. [Swift]LeetCode1147. 段式回文 | Longest Chunked Palindrome Decomposition
  6. C#中的Nutshell函数式编程
  7. 2015年自然语言处理实证方法会议(EMNLP)简介
  8. Bootstrap学习之三:使用排版
  9. Removing Nesting By Returning Early
  10. awg线径与电流_AWG线径对照表
  11. 微信订阅号改回列表显示
  12. 戴尔公司大中华区总裁黄陈宏 要烧哪三把火
  13. 练习4.4 萨提亚冰山理论应用
  14. 【由浅入深_打牢基础】WEB缓存投毒(上)
  15. 1971旗舰cpu intel_这就是近年来Intel最良心CPU!我彻底服了
  16. java面向对象基础
  17. 用excel替换word里的文字,deepcopy
  18. 教大家使用PS合成逼真的下雨效果(8)
  19. typeScript的定义类型:不能将类型“Timeout”分配给类型“number”;
  20. 【CISSP备考笔记】第4章:通信与网络安全

热门文章

  1. 微信小程序的工作原理
  2. 【洛谷】 P1425 小鱼的游泳时间
  3. 微信群发接口调用代码
  4. Vcpu,cpu 超分比,预留
  5. 为什么我们缺少特立独行的人生态度——萧功秦
  6. php控制台输出视频教程,js如何实现控制台输出
  7. Ubuntu下安装INVIDIA显卡驱动(避免循环登录问题)
  8. MySQL基础篇 | union、limit、DDL、DML、约束
  9. java正则校验的坑正则校验公式正确性
  10. 华为手机最大屏是几英寸的_余承东:华为智慧屏将有三款,最大 75 英寸