Swagger自动生成api文档

news2024/11/25 4:39:20

Swagger自动生成api文档

  • Swagger是什么
  • Swagger底层原理
  • 使用方式
    • 1修改pom文件
    • 2启动类中加入注解`@EnableSwagger2`
    • 3加入SpringFoxConfig.java
    • 4加入WebMvcConfig.java文件
    • 5 给Web 服务的接口加注解
    • 访问可视化页面

Swagger是什么

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务的接口文档
Swagger 是一套围绕 Open API 规范构建的开源工具,可以帮助设计,构建,记录和使用 REST API
Swagger 工具有:

  1. Swagger Editor :基于浏览器编辑器,可以在里面编写 Open API
    规范。类似 Markdown 具有实时预览描述文件的功能
  2. Swagger UI:将 Open API 规范呈现为交互式 API 文档。用可视化
    UI 展示描述文件。
  3. Swagger Codegen:将 OpenAPI 规范生成为服务器存根和客户端
    库。通过 Swagger Codegen 可以将描述文件生成 html 格式和 cwiki 形
    式的接口文档,同时也可以生成多种言语的客户端和服务端代码。
  4. Swagger Inspector:和 Swagger UI 有点类似,但是可以返回更多
    信息,也会保存请求的实际参数数据。
  5. Swagger Hub:集成了上面所有项目的各个功能,你可以以项目
    和版本为单位,将你的描述文件上传到 Swagger Hub 中。在 Swagger
    Hub 中可以完成上面项目的所有工作,需要注册账号,分免费版和收
    费版

Swagger底层原理

使用 Swagger,就是把相关的信息存储在它定义的描述文件里面(yml 或 json 格式),再通过维护这个描述文件可以去更新接口文档,以及生成各端代码

使用方式

1修改pom文件

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>

2启动类中加入注解@EnableSwagger2

在这里插入图片描述

3加入SpringFoxConfig.java

在项目的controller、service等包的同级目录下建立一个config包,并写入如下文件

package com.imooc.mall.config;

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.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;

@Configuration
public class SpringFoxConfig {

    //访问http://localhost:8083/swagger-ui.html可以看到API文档
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("项目web的名字")
                .description("描述")
                .termsOfServiceUrl("")
                .build();
    }
}

4加入WebMvcConfig.java文件

在项目的controller、service等包的同级目录下建立一个config包,并写入如下文件

package com.imooc.mall.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * 描述:     配置地址映射
 */
@Configuration
public class ImoocMallWebMvcConfig implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("swagger-ui.html").addResourceLocations(
                "classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations(
                "classpath:/META-INF/resources/webjars/");
    }
}

5 给Web 服务的接口加注解

接口上方加入@ApiOperation
添加web接口描述
在这里插入图片描述

访问可视化页面

地址:http://localhost:8082/swagger-ui.html
在这里插入图片描述
详细介绍见文档:08 SpringBoot与MybatisPlus\03\Swagger.pdf

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

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

相关文章

C经典小游戏之扫雷

编译环境&#xff1a;VS022 目录 1.算法思路 2.代码模块 2.1 game.h 2.2 game.cpp 2.3 test.cpp 3.重点分析 4.金句省身 1.算法思路 主要采用二维数组进行实现&#xff0c;设置两个二维数组&#xff0c;一个打印结果&#xff0c;即为游戏界面显示的效果&#xff0c;一个用…

值类型和引用类型

一、值类型和引用类型示例&#xff1a; 值类型&#xff1a;基本数据类型系列&#xff0c;如&#xff1a;int&#xff0c;float&#xff0c;bool&#xff0c;string&#xff0c;数组和结构体等。 引用类型&#xff1a;如&#xff1a;指针&#xff0c;slice切片&#xff0c;map&a…

windows wireshark抓到未加入组的组播消息

现象 在Windows上开启wireshark&#xff0c;抓到了大量地址为239.255.255.251的组播包。 同时&#xff0c;根据组播相关命令&#xff0c;调用netsh interface ipv4 show joins&#xff0c;显示当前并没加入 239.255.255.251 组播组。 解决 根据IGMP Snooping&#xff0c;I…

《机器学习》学习笔记

第 2 章 模型评估与选择 2.1 经验误差与过拟合 精度&#xff1a;精度1-错误率。如果在 mmm 个样本中有 aaa 个样本分类错误&#xff0c;则错误率 Ea/mEa/mEa/m&#xff0c;精度 1−a/m1-a/m1−a/m。误差&#xff1a;一般我们把学习器的实际预测输出与样本的真实输出之间的差…

MySQL---单表查询、多表查询

一、单表查询 素材&#xff1a; 表名&#xff1a;worker-- 表中字段均为中文&#xff0c;比如 部门号 工资 职工号 参加工作 等 CREATE TABLE worker ( 部门号 int(11) NOT NULL, 职工号 int(11) NOT NULL, 工作时间 date NOT NULL, 工资 float(8,2) NOT NULL, 政治面貌 v…

STM32驱动RC522

STM32驱动RC522开发环境&#xff1a;STM32CUBEMXKeil5使用平台&#xff1a;STM32F401CCU6该内容由网上内容改编,若不合适&#xff0c;请联系删除。一、使用STM32CUBEMX配置SPI二、驱动部分三、主函数调用四、移值攻略开发环境&#xff1a;STM32CUBEMXKeil5 使用平台&#xff1…

力扣:珠玑妙算(详解)

前言&#xff1a;内容包括四大模块&#xff1a;题目&#xff0c;代码实现&#xff0c;大致思路&#xff0c;代码解读 题目&#xff1a; 珠玑妙算游戏&#xff08;the game of master mind&#xff09;的玩法如下。 计算机有4个槽&#xff0c;每个槽放一个球&#xff0c;颜色可…

电力系统网架规划MATLAB程序分享

网架数据展示&#xff1a;完整程序&#xff1a;close all;clear all;clc;warning off; % 去除警告 tic; % tic用来保存当前时间&#xff0c;而后使用toc来记录程序完成时间%% 基本参数T12; % 典型日 8-19h % 8-19h 负荷各时段负荷总量total_P_LOAD[828,1001,1105,1105,994,1105…

STM32CubeMX+SPI+FATFS读写SD卡

一、软件硬件说明软件&#xff1a;STM32CubeMX V6.6.1 /KEIL5 V5.29硬件&#xff1a;正点原子mini开发板&#xff0c;SD卡,通过SPI方式驱动SD卡&#xff0c;用的是SPI1接口以上内容来源于正点原子mini开发板手册&#xff0c;SD卡的详细介绍也可以去查阅这个手册。二、STM32Cube…

Ethercat系列(3)TWCat3下抓包实例分析

简介研究Ethercat协议&#xff0c;必须知道数据包格式&#xff0c;以及其真实含义。以一个真实的数据包来学习是最有效的。Twcat3下用wireshark抓包&#xff0c;需要设置一下混杂模式&#xff0c;否则不能直接抓到Ethercat数据包。Twcat抓包设置在正确加载驱动器配置文件后&…

可深度二次开发的智能插座 工业化物联网多场景的高定系统服务商

物联网时代&#xff0c;各类物联网需求越来越迫切。物联网设备呈现出爆发式增长。同时近年来国家不断出台相关的法规政策&#xff0c;为物联网行业发展创造机遇&#xff0c;三大运营商积极部署NB-IOT网络建设&#xff0c;建成90万NB-IoT基站。据统计2012-2022年期间&#xff0c…

缺省参数+函数重载+构造函数

目录 一、缺省参数 &#xff08;一&#xff09;缺省参数概念 &#xff08;二&#xff09;缺省参数分类 1. 全缺省参数 2. 半缺省参数&#xff08;缺省部分参数&#xff09; 3. 注意 二、函数重载 &#xff08;一&#xff09;基本概念 &#xff08;二&#xff09;举例 …

“算丰AI视界”人工智能技术内容征集活动正式开启!

2023年2月8日&#xff0c;首届“算丰AI视界”人工智能技术内容征集活动正式拉开帷幕&#xff01;本次活动主要征集AI、CV、TPU-MLIR、RISC-V等方向的代表性视频和文章&#xff0c;面向国内外的企业、高校和科研院所的优秀开发者。 活动紧扣人工智能行业相关AI视觉技术&#xff…

申请苹果开发者账号的方法

1、打开苹果id注册地址&#xff0c;输入相关信息注册&#xff0c;如果已经有苹果账号了看第二步&#xff0c; https://appleid.apple.com/account?localangzh_CN 2、注册成功了&#xff0c;或者有苹果账号了&#xff0c;登录苹果开发者中心 https://developer.apple.com/acc…

LearnOpenGL 笔记 - 入门 04 你好,三角形

系列文章目录 LearnOpenGL 笔记 - 入门 01 OpenGLLearnOpenGL 笔记 - 入门 02 创建窗口LearnOpenGL 笔记 - 入门 03 你好&#xff0c;窗口 文章目录系列文章目录前言你好&#xff0c;三角形顶点输入顶点着色器&#xff08;Vertex Shader&#xff09;编译着色器片段着色器&…

SpringBoot集成Flink-CDC 采集PostgreSQL变更数据发布到Kafka

一、业务价值 监听数据变化&#xff0c;进行异步通知&#xff0c;做系统内异步任务。 架构方案&#xff08;懒得写了&#xff0c;看图吧&#xff09;&#xff1a; 二、修改数据库配置 2.1、更改配置文件postgresql.conf # 更改wal日志方式为logical&#xff08;必须&#xf…

PCB设计是不是该去除孤铜

你知道PCB设计是不是该去除孤铜? PCB设计的技巧需要注意很多问题&#xff0c;各个器件的兼容问题&#xff0c;以及成品问题等等都是需要考虑的重要因素。 我们今天的主题是PCB设计的时候是不是该去除孤铜的问题?有人说应该除去&#xff0c;原因大概是&#xff1a; 会造成EMI问…

学习深入理解JVM虚拟机及JavaGuide后的学习笔记

JVM虚拟机 一、JVM组成部分&#xff1a; 1.程序计数器 作用&#xff0c;是记住下一条JVM指令的内存地址&#xff1b;1.多线程情况下&#xff0c;程序计数器用于记录当前线程执行的位置&#xff0c;从而线程切换回来的时候能够知道线程上次运行到哪儿了。2.字节码解释器通过改变…

6 前缀、中缀、后缀表达式

文章目录1 前缀表达式 1. 1 缀表达式的计算机求值 2 中缀表达式3 后缀表达式 3. 1 后缀表达式的计算机求值 3. 2 中缀表达式转换为后缀表达式1 前缀表达式 前缀表达式又称波兰式&#xff0c;前缀表达式的运算符位于操作数之前 举例说明&#xff1a; (34)5-6 对应的前缀表达式就…

Orin + SC16IS752+SP3072 SPI转串口485

文章目录 1.前言2.修改过程2.1 sc16is752 芯片2.1.1引脚说明2.1.2 设备树配置2.2.1 源码分析3 调试1.前言 Orin 有四路串口,对于多数设备来说已经够用。 通过SPI 转串口再转RS485在Orin平台应该属于极个例,所以记录一下。 串口扩展芯片: SC16IS752RS485收发器: SP3072通信…