进阶SpringBoot之配置 Swagger API 框架信息

news2024/9/23 3:34:04

Swagger:API 框架

RestFul API 文档在线自动生成工具,API 文档与 API 定义同步更新

Swagger 官网

Maven 仓库

创建 Spring Boot 项目,依赖勾选 Spring Web

pom.xml 导入相关依赖:

springfox-swagger2、springfox-swagger-ui

        <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>

controller 包下新建 HelloController.java,先让项目跑起来

package com.demo.swagger.controller;

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

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello(){
        return "hello";
    }
}

http://localhost:8080/hello 启动成功即可,项目搭建成功

配置 Swagger:

(先把 Spring Boot 的版本降低到 2.5.5,

之前尝试过添加依赖 springfox-boot-starter、springdoc-openapi-starter-webmvc-ui,

配置类换注解 @EnableOpenApi、@EnableWebMvc,

Swagger 依赖到最新版本 3.0.0,一旦写了配置类,通通无效!根本无法启动,一个劲报错)

config 包下 SwaggerConfig.java 开启 Swagger2,@EnableSwagger2

package com.demo.swagger.config;

import org.springframework.context.annotation.Configuration;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2 //开启Swagger2
public class SwaggerConfig {
    
}

启动,进入 http://localhost:8080/swagger-ui.html

Swagger 给我们提供了一个前端页面

(新版地址换成了 http://localhost:8080/swagger-ui/index.html)

SwaggerConfig.java 配置类:(建议分析源码,点进 Docket 和 ApiInfo 查看)

配置 Swagger 的 Docket 的 bean 实例

配置 Swagger 信息 apiInfo

package com.demo.swagger.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.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

import java.util.ArrayList;

import static springfox.documentation.service.ApiInfo.DEFAULT_CONTACT;

@Configuration
@EnableSwagger2 //开启Swagger2
public class SwaggerConfig {

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

    //配置Swagger信息apiInfo
    private ApiInfo apiInfo(){
        //作者信息
        //Contact contact = new Contact("name","url","email");
        return new ApiInfo("Api Documentation",
                "Api Documentation",
                "1.0",
                "urn:tos",
                DEFAULT_CONTACT,   //contact
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList()
        ); //从ApiInfo源码获取,可以任意修改,展示的前端页面就会显示修改后的页面
    }
}

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

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

相关文章

何为数据中台

数据中台 什么是数据中台 2014年马云正式提出“DT&#xff08;Data Technology&#xff09;”的概念&#xff0c;人类从IT时代走向了DT时代&#xff0c;阿里内部的数据平台事业部大刀阔斧的建立整个集团的数据资产&#xff0c;同年&#xff0c;阿里从芬兰Supercell公司接触到…

Canny算子 一张图看懂

对于最高值和最低值的设置&#xff0c; 1&#xff0c;high t最大值一般以一阶导数幅度图的最大值的30%-40%来定 2&#xff0c;最小值一般halcon里默认为 low theigh t/3得到 3&#xff0c;canny的优势是有极大值抑制&#xff0c;所以提取的边缘是1个像素的窄边缘。 3&#xff0…

Golang path/filepath包详解:高效路径操作与实战案例

Golang path/filepath包详解&#xff1a;高效路径操作与实战案例 引言基础用法Abs 函数Base 函数Clean 函数Dir 函数Ext 函数FromSlash 和 ToSlash 函数 基础用法Abs 函数Base 函数Clean 函数Dir 函数Ext 函数FromSlash 和 ToSlash 函数 路径操作Join 函数Split 函数Rel 函数Ma…

LabVIEW编程语言出于什么原因开发的?

LabVIEW最初由美国国家仪器公司&#xff08;NI&#xff09;于1986年开发&#xff0c;目的是为工程师和科学家提供一种图形化编程环境&#xff0c;简化数据采集、仪器控制、自动化测试和测量系统开发等工作。开发LabVIEW的主要原因包括以下几点&#xff1a; 简化复杂系统开发&am…

《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》Chapter 1课件2024

每一轮备课都有新的感悟。 禹晶、肖创柏、廖庆敏《数字图像处理&#xff08;面向新工科的电工电子信息基础课程系列教材&#xff09;》 禹晶、肖创柏、廖庆敏《数字图像处理》资源二维码

Tektronix泰克MSO5204B混合信号示波器4+16通道2G

Tektronix泰克MSO5204B混合信号示波器416通道2G 2 GHz、416 通道、10/5 GS/s&#xff08;2/4 通道&#xff09;混合信号示波器&#xff0c;50 M/25 M 记录长度泰克 MSO5204B 2 GHz、416 通道、10/5 GS/s&#xff08;2/4 通道&#xff09;混合信号示波器&#xff0c;50 M/25 M …

机器学习强化学习

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl1. 强化学习概述 1.1 定义与核心概念 强化学习是一种目标导向的机器学习方法,它使智能体能够在环境中通过试错学习最优行为策略。这种学习过程涉及到智能体与环境之间的交互,智能体根据当前状态…

AI基础 L8 Local Search I 局部搜索

Iterative Improvement Algorithms • In many optimization problems, the path to a goal is irrelevant — the goal state itself is the solution • State space a set of goal states — find one that satisfies constraints (e.g., no two classes at same time) —…

《系统安全架构设计及其应用》写作框架,软考高级系统架构设计师

论文真题 随着社会信息化进程的加快&#xff0c;计算机及网络已经被各行各业广泛应用&#xff0c;信息安全问题也变得愈来愈重要。它具有机密性、完整性、可用性、可控性和不可抵赖性等特征。信息系统的安全保障是以风险和策略为基础&#xff0c;在信息系统的整个生命周期中提…

【审批流】基于JAVA开发的工作流审批系统(直接集成或者直接可使用)

基于Javavue开发的智能审批系统&#xff0c;低代码平台 软件资料清单列表部分文档清单&#xff1a;工作安排任务书&#xff0c;可行性分析报告&#xff0c;立项申请审批表&#xff0c;产品需求规格说明书&#xff0c;需求调研计划&#xff0c;用户需求调查单&#xff0c;用户需…

Android APK插件化:DynamicAPK技术如何改变游戏规则

在移动应用开发领域&#xff0c;尤其是Android平台&#xff0c;应用的体积和更新速度一直是开发者和用户关注的焦点。随着应用功能的不断增加&#xff0c;APK文件的大小也在逐渐膨胀&#xff0c;这不仅增加了用户的下载成本&#xff0c;也影响了应用的更新效率。DynamicAPK技术…

数学建模笔记——层次分析法

数学建模笔记——层次分析法 数学建模笔记——层次分析法1. 层次分析法的基本原理和步骤2. 层次分析法的建模过程2.1 问题的提出2.2 模型原理2.3 为该问题建立层次结构模型2.4 构造判断矩阵1. 判断矩阵的含义2. 为该问题构造判断矩阵 2.5 一致性检验1. 一致性检验方法2. 对上述…

【Linux】HTTP协议中的cookie和session

一、B站的登录和未登录——一种登录场景的演示 我们现在上的是B站大学&#xff0c;所以对于B站&#xff0c;我们是很熟悉的。当我们打开浏览器&#xff0c;并访问B站网页时&#xff08;很熟悉&#xff09;&#xff0c;会发现我们会自动登录上B站&#xff0c;为什么呢&#xff1…

解锁 macOS 剪贴板历史记录,高效复制、粘贴技巧

在Mac上&#xff0c;我们经常需要在不同文档之间复制和粘贴内容。然而&#xff0c;macOS自带的剪贴板只能保存最后一个复制项&#xff0c;这大大限制了我们的工作效率。幸运的是&#xff0c;一些第三方应用程序可以帮助我们查看和管理剪贴板的历史记录&#xff0c;从而提升我们…

基于RP2350 MCU的树莓派Pico 2开发板及MicroPython编程使用

2021年1月21日,树莓派基金会同时发布了第1代RP2040 MCU芯片和基于RP2040 MCU的第1代树莓派Pico开发板(Raspberry Pi Pico/ Raspberry Pi Pico 1)。2024年8月8日,树莓派基金会又发布了第2代RP2350 MCU芯片并推出了基于RP2350 MCU的第2代树莓派Pico开发板(Raspberry Pi Pico 2)…

pandas:一个强大的数据处理Python库

我是东哥&#xff0c;一个热衷于探索Python世界的自媒体人。今天&#xff0c;我要为大家介绍一个在Python数据分析领域中非常强大的库——Pandas。如果你对数据分析充满好奇&#xff0c;或者正在寻找一个简单易用的库来处理和分析数据&#xff0c;那么Pandas绝对是你的不二之选…

MySQL——库操作

首先先来说一下MySQL中常见的操作&#xff1a; 1. 清屏 system clear; 2. 如果你使用的是腾讯云的Ubuntu&#xff0c;登陆的时候用户名可能是ubuntu&#xff0c;进入后可以使用 sudo -i 切换为高级用户 一、创建数据库 create database db_name; 示例&#xff1a; mysql> …

汽车测试展︱AUTO TECH 2025 广州国际汽车测试测量技术展览会

汽车测试展︱AUTO TECH 2025 广州国际汽车测试测量技术展览会 The China Guangzhou Automotive Test Expo 2025 2025年11月20-22日&#xff0c;专注于华南地区专业的汽车质量控制展览会&#xff0c;将在广州保利世贸博览馆继续举办。是关于各种汽车测试解决方案的专业展如汽车电…

[C高手编程] static与extern: 作用域、可见性与存储类全面解析

&#x1f496;&#x1f496;⚡️⚡️专栏&#xff1a;C高手编程-面试宝典/技术手册/高手进阶⚡️⚡️&#x1f496;&#x1f496; 「C高手编程」专栏融合了作者十多年的C语言开发经验&#xff0c;汇集了从基础到进阶的关键知识点&#xff0c;是不可多得的知识宝典。如果你是即将…

高职人工智能训练师边缘计算实训室解决方案

一、引言 随着物联网&#xff08;IoT&#xff09;、大数据、人工智能&#xff08;AI&#xff09;等技术的飞速发展&#xff0c;计算需求日益复杂和多样化。传统的云计算模式虽在一定程度上满足了这些需求&#xff0c;但在处理海量数据、保障实时性与安全性、提升计算效率等方面…