JAVA基础整理(11)swagger

添加依赖
        <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.8.0</version></dependency>
 定义
@Api(tags = "测试管理/hello")
@RestController
@RequestMapping("/hello")
@RefreshScope
public class Hello {@ApiOperation(value = "接口简称",notes = "接口描述")@ApiImplicitParams({//paramType定义参数传递类型:有path,query,body,form,header@ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header"),@ApiImplicitParam(name = "username",value = "用户名",required = true, paramType = "query"),@ApiImplicitParam(name = "password", value = "密码", required = true, paramType = "query")})@ApiResponses({@ApiResponse(code=200,message = "调用成功"),@ApiResponse(code=401,message = "无权限")})@GetMapping("/swaggers")public String swaggers(@RequestParam String username, @RequestParam String password) {return "ok"+ username + password;}
}
 配置类
package com.example.web1_2.swegger;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;
import springfox.documentation.swagger2.annotations.EnableSwagger2;/*** @Api: 用于类,标识这个类是swagger的资源* @ApiIgnore: 用于类,忽略该 Controller,指不对当前类做扫描* @ApiOperation: 用于方法,描述 Controller类中的 method接口* @ApiParam: 用于参数,单个参数描述,与 @ApiImplicitParam不同的是,他是写在参数左侧的。如( @ApiParam(name="username",value="用户名")Stringusername)* @ApiModel: 用于类,表示对类进行说明,用于参数用实体类接收* @ApiProperty:用于方法,字段,表示对model属性的说明或者数据操作更改* @ApiImplicitParam: 用于方法,表示单独的请求参数* @ApiImplicitParams: 用于方法,包含多个 @ApiImplicitParam* @ApiResponse: 用于方法,描述单个出参信息* @ApiResponses: 用于方法,包含多个@ApiResponse* @ApiError: 用于方法,接口错误所返回的信息*** Failed to start bean ‘documentationPluginsBootstrapper‘;解决方法* 在application.properties里配置里添加:* spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER* 原因: 这是因为Springfox使用的路径匹配是基于AntPathMatcher的,而Spring Boot 2.6.X使用的是PathPatternMatcher。*/@Configuration // 标明是配置类
@EnableSwagger2 //开启swagger功能
public class SwaggerConfig {@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2)  // DocumentationType.SWAGGER_2 固定的,代表swagger2//.groupName("分布式任务系统") // 如果配置多个文档的时候,那么需要配置groupName来分组标识.apiInfo(apiInfo()) // 用于生成API信息.select() // select()函数返回一个ApiSelectorBuilder实例,用来控制接口被swagger做成文档.apis(RequestHandlerSelectors.basePackage("com.example.web1_2.controller")) // 用于指定扫描哪个包下的接口.paths(PathSelectors.any())// 选择所有的API,如果你想只为部分API生成文档,可以配置这里.build();}/*** 用于定义API主界面的信息,比如可以声明所有的API的总标题、描述、版本* @return*/private ApiInfo apiInfo() {return new ApiInfoBuilder().title("测试") //  可以用来自定义API的主标题.description("测试描述") // 可以用来描述整体的API.termsOfServiceUrl("") // 用于定义服务的域名.version("1.0") // 可以用来定义版本。.build(); //}
}
导出文件

运行中根目录执行  mvn swagger2markup:convertSwagger2markup

<build><plugins><plugin><groupId>io.github.swagger2markup</groupId><artifactId>swagger2markup-maven-plugin</artifactId><version>1.3.1</version><configuration><!-- api-docs访问url --><swaggerInput>http://localhost:40012/v2/api-docs</swaggerInput><!-- 生成为单个文档,输出路径<outputFile>src/main/doc/api</outputFile>--><!-- 生成为多个文档,输出路径 --><outputDir>src/main/resources/ui</outputDir><config><!-- wiki格式文档 --><!--<swagger2markup.markupLanguage>CONFLUENCE_MARKUP</swagger2markup.markupLanguage> --><!-- ascii格式文档 --><swagger2markup.markupLanguage>ASCIIDOC</swagger2markup.markupLanguage><!-- markdown格式文档 --><!--<swagger2markup.markupLanguage>MARKDOWN</swagger2markup.markupLanguage>--><swagger2markup.pathsGroupedBy>TAGS</swagger2markup.pathsGroupedBy></config></configuration></plugin></plugins></build>

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

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

相关文章

探索设计模式的魅力:精准解读桥接模式-用桥接模式构建可扩展的软件系统

设计模式专栏&#xff1a;http://t.csdnimg.cn/nolNS 目录 一、了解桥接模式&#xff1a;探索抽象和实现的分离 1.1 开-闭原则 1.2 组合/聚合复用原则 1.3 定义 1.4 用意 1.5 基本思想 1.6 组成部分 1.7 桥梁模式的示意性系统的结构图 二、桥接模式的优势&#xff1a…

SQL布尔盲注、延迟注入和堆叠注入

什么是盲注 盲注的本质是猜解(所谓“盲”就是在你看不到返回数据的情况下能通过 “感觉” 来判断)&#xff0c;那能感觉到什么?答案是 : 差异(包括运行时间的差异和页面返回结果的差异 ) 原理 在页面中&#xff0c;如果正确执行了SQL语句&#xff0c;则返回一种页面&#x…

Linux防火墙相关命令(开启防火墙、关闭防火墙、添加ip白名单等)

查看防火状态systemctl status firewalld service iptables status暂时关闭防火墙systemctl stop firewalld service iptables stop永久关闭防火墙systemctl disable firewalld chkconfig iptables off启动防火墙systemctl start firewalld重启防火墙systemctl enable firewa…

前端开发中不同语言【react-i18next】

目录 查看并设置语言 单页面&#xff1a;html lang ​编辑 浏览器 自定义翻译&#xff1a;react-i18next 设置 模块&#xff1a;staticData.ts 散(重复利用)&#xff1a;命名空间.json 应用 准备 html标签 查看并设置语言 单页面&#xff1a;html lang 英语: <…

自然人和法人区别

自然人是指在自然状态下出生的人&#xff0c;具有自然生物属性&#xff0c;是民法上的民事主体。自然人在民事法律关系中具有权利主体资格&#xff0c;享有民事权利并承担民事义务。每一个自然人都有自己的民事主体资格&#xff0c;具有独立的人格和民事权利能力&#xff0c;能…

k8s 部署 nocas 同时部署mysql

使用 ygqygq2 的 helm 模板部署 官方地址&#xff1a;https://artifacthub.io/packages/helm/ygqygq2/nacos 添加 helm 仓库 helm repo add ygqygq2 https://ygqygq2.github.io/charts/下载 helm 安装文件 helm pull ygqygq2/nacos解压 tar -zxvf nacos-2.1.6.tgz执行 hel…

移动端基础-vw适配

什么是vw 相对单位 相对视口的尺寸 vw:viewport width 换算 1vw1/100视口宽度 vw不需要向rem一样检查视口宽度 若视口宽为375px 1vw3.75px vw与vmin的区别 vmin更照顾横竖屏问题 1vw是视口宽度的100%&#xff0c;而vmin是找宽度和高度中最小的那个&#xff0c;这样横屏…

RFID快递物流包装仓储管理与追踪解决方案

RFID技术在快递物流、包装和仓储管理领域有着广泛的应用&#xff0c;通过为每个货物、托盘、周转箱、围板箱等物品添加RFID标签&#xff0c;为它们赋予独特的身份识别码&#xff0c;并通过RFID读写器在各个仓储业务节点进行管理和追踪&#xff0c;RFID技术具有远距离快速识别的…

CSS 闪电按钮效果

<template><view class="const"><div class="voltage-button"><button>闪电按钮</button><svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox=&q…

python中的web框架介绍

目录 一&#xff1a;框架介绍 二&#xff1a;框架安装 Python中有许多流行的Web框架,以下是一些最受欢迎的框架&#xff1a; 一&#xff1a;框架介绍 1: Django Django是一个高级Python Web框架&#xff0c;它鼓励快速开发和干净的设计。Django的主要特点是其强大的ORM&am…

L1-037 A除以B-java

输入样例1&#xff1a; -1 2输出样例1&#xff1a; -1/2-0.50输入样例2&#xff1a; 1 -3输出样例2&#xff1a; 1/(-3)-0.33输入样例3&#xff1a; 5 0输出样例3&#xff1a; 5/0Error java import java.util.*; class Main{public static void main(String[] args){Sc…

马尔科夫链--基础知识

马尔可夫链&#xff08;Markov Chain&#xff09;是一种数学系统&#xff0c;它经过从一个状态到另一个状态的转换&#xff0c;这些转换遵循马尔可夫性质&#xff0c;即未来的状态只依赖于当前的状态&#xff0c;而与过去的状态&#xff08;即如何到达当前状态&#xff09;无关…

力扣 121. 买卖股票的最佳时机

题目来源&#xff1a;https://leetcode.cn/problems/best-time-to-buy-and-sell-stock/description/ 好久没写代码了&#xff0c;啥啥都忘了 C题解1&#xff1a;贪心算法。&#xff08;来源代码随想录&#xff09; 因为股票就买卖一次&#xff0c;那么贪心的想法很自然就是取…

vue3-router路由问题解决方案

Router路由跳转失败的解决法案 第一类&#xff0c;配置问题 问题代码 import { createRouter, createWebHistory } from vue-routerimport HOME from "/views/topic.vue" import LoginIn from "/components/LoginIn.vue"; import LoginUp from "/c…

由亚马逊云科技 Graviton4 驱动的全新内存优化型实例 Amazon EC2 实例(R8g),现已开放预览

下一代 Amazon Elastic Compute CloudAmazon EC2) 实例的预览版现已公开 提供。全新的 R8g 实例 搭载新式 Graviton4 处理器&#xff0c;其性价比远超任何现有的内存优化实例。对于要求较高的内存密集型工作负载&#xff0c;R8g 实例是不二之选&#xff1a;大数据分析、高性能数…

第七届西湖论剑·中国杭州网络安全技能大赛 AI 回声海螺 WP

第七届西湖论剑中国杭州网络安全技能大赛-AI-回声海螺 开题&#xff0c;提示输入密码给FLAG。 这个回声海螺应该是个AI&#xff0c;就是复读机&#xff0c;应该是想办法从中骗出密码。 感觉这题不像是AI&#xff0c;也没用啥模型&#xff0c;应该是WEB。或者是说类似于AI的提示…

【Rust日报】2024-02-02 致力于编程,无论你使用哪种语言

AWS SDK for Rust, 2024 Feb2nd released AWS SDK for the Rust Programming Language 2024年2月最新 Releases&#xff1a; Service Features: aws-sdk-sagemaker (1.20.0): Amazon SageMaker Canvas 现在通过 CanvasAppSettings 参数支持生成式 AI 设置。这允许您在 Canvas 工…

EasyExcel导出数据,解决慢sql,漏数据,重复数据问题(一)

EasyExcel导出数据&#xff0c;解决慢sql&#xff0c;漏数据&#xff0c;重复数据问题&#xff08;一&#xff09; 大家思考一下&#xff0c;在导出excel时是否会出现如下几个常见问题 慢sql问题漏数据&#xff0c;缺数据问题数据重复 那到底该如何解决呢&#xff1f;下面我…

AIGC实战——归一化流模型(Normalizing Flow Model)

AIGC实战——归一化流模型 0. 前言1. 归一化流模型1.1 归一化流模型基本原理1.2 变量变换1.3 雅可比行列式1.4 变量变换方程 2. RealNVP2.1 Two Moons 数据集2.2 耦合层2.3 通过耦合层传递数据2.4 堆叠耦合层2.5 训练 RealNVP 模型 3. RealNVP 模型分析4. 其他归一化流模型4.1 …

小红书种草图文怎么制作?纯干货

一篇优质的小红书种草图文&#xff0c;不仅能提升产品销量&#xff0c;还能为品牌带来广泛的关注。如何制作出高质量的小红书种草图文呢&#xff1f;本文伯乐网络传媒将为你一一揭晓。 一、小红书种草图文制作要点 1. 确定目标受众和主题 明确目标受众是谁&#xff0c;他们有何…