2.SpringBoot集成Swagger

news2024/11/28 4:40:01

1.添加依赖


     <!--添加Swagger依赖 -->
       <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.7.0</version>
        </dependency>
     <!--添加Swagger-UI依赖 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.7.0</version>
        </dependency>

2.创建SwaggerConfig类

在启动程序同一层建立一个Config文件夹,在文件里建立一个SwaggerConfig类

package com.example.mytest22.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Parameter;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

import java.util.ArrayList;
import java.util.List;

@Configuration
@EnableSwagger2
public class SwaggerConfig {


    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
                .apis(RequestHandlerSelectors.basePackage("com.example.mytest22.controller")).paths(PathSelectors.any())
                .build().globalOperationParameters(setHeaderToken());

    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder().title("action-swagger").description("swagger集成").termsOfServiceUrl("")
                .version("1.0").build();
    }

    /**
     * @Description: 设置swagger文档中全局参数
     * @param
     * @Date: 2023/07/10 10:15
     * @return: java.util.List<springfox.documentation.service.Parameter>
     */

    private List<Parameter> setHeaderToken() {
        List<Parameter> pars = new ArrayList<>();
        ParameterBuilder userId = new ParameterBuilder();
        userId.name("token").description("用户的Token").modelRef(new ModelRef("string")).parameterType("header")
                .required(true).build();
        pars.add(userId.build());
        return pars;
    }

}

3启动项目

输入地址 http://localhost:8080//swagger-ui.html#/
在这里插入图片描述

注意:如果运行项目,打开地址提示错误:Unable to infer base url. This is common when using dynamic servlet registration or when the API is behind an API Gateway. The base url is the root of where all the swagger resources are served.
检查自己的SwaggerConifg的注解是否填写
@Configuration
@EnableSwagger2

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

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

相关文章

Python实现操作MySQL【增删改查-示例】

闲话少叙,直接上操作! 一、准备工作 1.本地安装MySQL、Python(以3.6为例) 2.MySQL新建数据库【test】,新建表【user】,新建字段【name】【age】 3.建表方式:navicat工具 字段 二、Python操作—插入数据 #!/usr/bin/env # coding=utf-8import pymysql # Python 连…

Leetcode-每日一题【430.扁平化多级双向链表】

题目 你会得到一个双链表&#xff0c;其中包含的节点有一个下一个指针、一个前一个指针和一个额外的 子指针 。这个子指针可能指向一个单独的双向链表&#xff0c;也包含这些特殊的节点。这些子列表可以有一个或多个自己的子列表&#xff0c;以此类推&#xff0c;以生成如下面…

Java语言程序设计试卷6套

目录 Java语言程序设计试卷1 一、单项选择题 二、多项选择题 三、判断题 Java语言程序设计试卷2 一、单项选择题 二、多项选择题 三、判断题 Java语言程序设计试卷3 一、单项选择题 二、多项选择题 三、判断题 Java语言程序设计试卷4 一、单项选择题 二、多项选…

【7月比赛合集】119场可报名的数据挖掘大奖赛,任君挑选!

CompHub[1] 主页增加了“近两周上新的奖金赛”&#xff0c;更加方便查找最新比赛&#xff0c;欢迎访问和反馈&#xff01; 最新更新的比赛会第一时间在群里通知&#xff0c;欢迎加群交流&#xff01;&#xff08;公众号回复“加群”即可&#xff09; 以下信息仅供参考&#xff…

一种简单的数据库性能测试方法

这两天接到一个任务&#xff0c;要测试一个服务器的性能&#xff0c;客户要求向数据库内 1000/s&#xff08;每插入一千条数据&#xff09; 的处理能力&#xff0c;当时脑子赌赛了&#xff0c;想的是用LR来进行&#xff0c;由于LR接触不深&#xff0c;只知道LR实现参数化的时候…

Java基础---异常

目录 典型回答 什么是Throwable Error和Exception的区别和联系 Java异常处理相关的几个关键字&#xff0c;以及简单用法 什么是自定义异常&#xff0c;如何使用自定义异常 Java异常体系结构 以下关于异常处理的代码有哪些问题 典型回答 Java中的异常&#xff0c;主要可以…

力扣 62. 不同路径

文章目录 题目描述思路代码 题目描述 思路 动态规划 代码 private int UniquePaths(int m, int n) {int[][] dp new int[m][];for (int i 0; i < m; i) {dp[i] new int[n];}for (int i 0; i < m; i) {for (int j 0; j < n; j) {if (i 0 || j 0) dp[i][j] …

LLM - Baichuan7B Tokenizer 生成训练数据

目录 一.引言 二.Tokenizer 原始数据 1.原始数据样例 2.加载并 Token 原始数据 2.1 参数准备 2.2 单条样本处理逻辑 2.3 批量处理逻辑 2.4 主函数与完整代码 三.shell 执行 四.总结 一.引言 前面提到了自己在微调 Baichuan7B Lora 的过程中遇到了一些问题&#xff0c…

Cesium Token申请

一、什么是Cesium ion&#xff1f; Cesium ion是一个提供瓦片图和3D地理空间数据的平台&#xff0c;支持把数据添加到用户自己的应用程序中。 二、为什么需要access token&#xff1f; 使用Cesium ion需要申请access token,当用户将数据添加到自己的账户后&#xff0c;便可以…

Android-jar包方式连接本地sqlite并操作返回数据

背景: 数据库的创建及字段都是后端人员维护,Android端只是映射相关数据库到本地来操作。为了统一管理操作方式方法,所以提出,后端打jar包的方式封装对Android端数据库sqllite的连接、操作。 说明: 因为之前是后端打jar包,JDBC连接的驱动及方法有差异,导致连接Android…

PHP在线拨打电话的代码

这段代码包括一个HTML表单,用于收集用户的姓名,电子邮件和消息。当用户提交表单时,邮件将发送到指定的电子邮件地址,并显示一条消息,指示我们将在不久的将来拨打电话回复。请注意,在上面的代码中,电话号码硬编码为 $phone_number 变量,您需要将其更改为您想要的电话号码…

jmeter使用正则表达式匹配多个中的响应结果

目录 一、背景&#xff1a; 二、例如&#xff1a; 三、接口响应的所有结果&#xff1a; 四、正则表达式的写法&#xff1a; 五、调试的时候添加一个Debug PostProcessor 调试器 六、在Debug PostProcessor中可以查看到获取的参数结果 七、引用方式&#xff1a;${testValue…

【js前端去空格】

javascript字符串去空格 js去除字符串空格的方法 说到去除空格&#xff0c;首先都会想到的就是trim()方法&#xff0c;但是trim()只能去除字符串前后的空格&#xff0c;无法去除字符串中间的空格。 下面总结一下js去除字符串空格的几种方法&#xff1a; 1、trim() trim()是…

你应该知道的C语言干货(4)(strncpy,strncmp,strncat,strstr,strtok)

我们知道包含string.h头文件后&#xff0c;就可以使用strncpy,strncmp,strncat,strstr,strtok这些库函数&#xff0c;接下来让我们了解他们。 目录 #strncpy #strncmp #strncat #strstr #strtok #下期预告 #strncpy 该库函数作用和strcpy很相似&#xff0c;不同点在于 发现了吗…

《面试1v1》Redis分片集群

&#x1f345; 作者简介&#xff1a;王哥&#xff0c;CSDN2022博客总榜Top100&#x1f3c6;、博客专家&#x1f4aa; &#x1f345; 技术交流&#xff1a;定期更新Java硬核干货&#xff0c;不定期送书活动 &#x1f345; 王哥多年工作总结&#xff1a;Java学习路线总结&#xf…

Redis Brpop 命令

目录 一、作用二、demo演示 一、作用 Redis Brpop 命令拥有移出并获取list右边的最后一个元素&#xff0c; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。 二、demo演示 向 list1 中插入三个元素 a、b、c lpush list1 a b c查看list1中的元素 lrange lis…

操作系统13:中断处理程序和设备驱动程序

目录 1、中断处理程序 &#xff08;1&#xff09;中断和陷入 &#xff08;2&#xff09;中断处理程序的处理过程 2、设驱动程序 &#xff08;1&#xff09;设备驱动程序的功能 &#xff08;2&#xff09;设备驱动程序的处理过程 &#xff08;4&#xff09;对 I/O 设备的…

Mac 和 Win,到底用哪个系统学编程?

今天来聊一个老生常谈的问题&#xff0c;学编程时到底选择什么操作系统&#xff1f;Mac、Windows&#xff0c;还是别的什么。。 作为一个每种操作系统都用过很多年的程序员&#xff0c;我会结合我自己的经历来给大家一些参考和建议。 接下来先分别聊聊每种操作系统的优点和不…

React懒加载/动态加载lazy简单实例

两种页面嵌套的方式&#xff0c;一种是父子组件&#xff0c;一种是懒加载 1、父子组件&#xff08;可略&#xff0c;只用来做例子对比&#xff09; 原本需要用父子组件来实现页面嵌套&#xff0c;如果嵌套的组件不多&#xff0c;可以这样实现 父页面 import React,{Componen…

Android代码解读之渲染机制揭秘

问题 1.vsync如何协调应用和SurfaceFlinger配合来完成UI渲染、显示&#xff0c;App接收vsync后要做哪些工作&#xff1f; 2.requestLayout和invalidate区别&#xff1f; 3.performTraversals到底是干什么了&#xff1f; 4.surfaceflinger怎么分发vsync信号的&#xff1f; …