SpringBoot 整合 knife4j

文章目录

            • 简述
            • 2. 导入依赖
            • 3. 创建配置类
            • 4. 创建User实体类
            • 5. 创建开发接口
            • 6. 启动项目

简述

Swagger是一款测试文档Api接口,具体用法见SpringBoot整合Swagger。而knife4j是对Swagger进一步封装,其优化了api文档的界面。官网https://doc.xiaominfo.com/knife4j/documentation/

2. 导入依赖

新建一个SpringBoot的项目,导入需要的依赖

<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>3.0.3</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
3. 创建配置类
package com.gblfy.config;import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
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.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;@Configuration
@EnableKnife4j
public class Knife4jConfig {@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).useDefaultResponseMessages(false).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.gblfy.controller")).paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder().description("Swagger3接口文档").contact(new Contact("哈哈", "https://gblfy.com", "gblfy@qq.com")).version("v1.1.0").title("适用于前后端分离统一的接口文档").build();}
}
4. 创建User实体类
package com.gblfy.entity;import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;@Data
@ApiModel(value = "用户实体")
public class User {@ApiModelProperty(value = "id")private Integer id;@ApiModelProperty(value = "用户名")private  String username;@ApiModelProperty(value = "性别,0男,1女")private Integer sex;}
5. 创建开发接口
package com.gblfy.controller;import com.example.demo.User;
import io.swagger.annotations.*;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;@RestController
@Api(tags = "用户接口")//描述UserController的信息
public class UserController {@ApiOperation(value = "查询用户",notes = "根据id查询用户")@ApiImplicitParam(paramType = "path",name="id",value = "用户id",required = true)@GetMapping("/user/query/{id}")public String getUserById(@PathVariable Integer id) {return "/user/"+id;}@ApiResponses({@ApiResponse(code=200,message="删除成功"),@ApiResponse(code=500,message="删除失败")})@ApiOperation(value = "删除用户",notes = "根据id删除用户")@DeleteMapping("/user/delete/{id}")public Integer deleteUserById(@PathVariable Integer id) {return id;}@ApiOperation(value = "添加用户",notes = "添加一个用户,传入用户名和性别")@ApiImplicitParams({@ApiImplicitParam(paramType = "query",name="username",value = "用户名",required = true,defaultValue = "张三"),@ApiImplicitParam(paramType = "query",name="sex",value = "性别",required = true,defaultValue = "女")})@PostMapping("/user")public String addUser(@RequestParam String username,@RequestParam String sex){return username+","+sex;}@ApiOperation(value="修改用户",notes = "根据传入的用户信息修改用户")@PutMapping("/user")public String updateUser(@RequestBody User user){return user.toString();}@GetMapping("/ignore")@ApiIgnorepublic void ignoreMethod(){}}
6. 启动项目

测试。启动项目,在浏览器输入http://localhost:8080/doc.html就可以看到接口的信息,展开接口,就能看到所有的接口详细信息
在这里插入图片描述

展开后可以对各个请求进行测试。选择接口后点击调试,输入相关的参数点击发送按钮即可。
在这里插入图片描述

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

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

相关文章

如何将数据仓库从 AWS Redshift 迁移到阿里云 AnalyticDB for PostgreSQL

阿里云AnalyticDB for PostgreSQL&#xff08;以下简称 ADB PG&#xff0c;即原HybridDB for PostgreSQL&#xff09;为基于PostgreSQL内核的MPP架构的实时数据仓库服务&#xff0c;可以支持复杂ETL任务&#xff0c;也支持高性能在线查询&#xff0c;同阿里云生态紧密结合。AWS…

开源项目如何挣钱? Spark 商业化公司创始人曝光心路历程

众所周知&#xff0c;开源项目对软件发展来说至关重要&#xff0c;但仍有人认为用开源项目来赚钱是对开源项目的一种亵渎。HashiCorp联合创始人兼 CTO Armon Dadgar、Databricks CEO Ali Ghodsi 和 a16z 的普通合伙人 Peter Levine 齐聚一堂&#xff0c;详细阐述开源项目变成商…

F1 Query: Declarative Querying at Scale

距离 Google 的上一篇 F1 论文&#xff0c;也就是 F1: A Distributed SQL Database That Scales 已经 5 年过去了&#xff0c;Google 在今年的 VLDB 上终于发布了 F1 的新版本 F1 Query: Declarative Querying at Scale&#xff0c;我们今天就来看一下这篇论文。 2013 年的 F1…

openoffice 安装windows 环境

文章目录一、安装配置启动1. 下载软件2. 安装3. 启动一、安装配置启动 1. 下载软件 https://www.openoffice.org/download/ 4.1.11版本 下载链接 2. 安装 一路下一步安装即可 安装完毕后&#xff0c;在桌面上会有一个openoffice图标 3. 启动 soffice -headless -accept“…

在线看大会!就来云栖号!

背景 抗击2019新型冠状病毒&#xff08;2019-nCoV冠状病毒&#xff09;成了全国人民的头等大事。截至2020年2月7日&#xff0c;中国确诊新型冠状病毒感染者逾3万人。为抗击预防新型冠状病毒&#xff0c;武汉采取封城措施&#xff0c;钟南山院士提倡全家在家不出门隔断病源&…

我为什么放弃Java,却选择Python?

不可否认的是&#xff0c;Python 凭借超广泛的应用方向&#xff0c;已成为了最受欢迎的编程语言。不过&#xff0c;真正让我喜欢上 Python 的原因&#xff0c;是我发现做同样功能的代码&#xff0c;从 Java 换成 Python 以后&#xff0c;代码量直接从 2000 行减少到 200 行。甚…

三大场景,对象存储OSS带你快速上云

本文介绍对象存储OSS的主要应用场景。 图片和音视频等应用的海量存储 OSS可用于图片、音视频、日志等海量文件的存储。各种终端设备、Web网站程序、移动应用可以直接向OSS写入或读取数据。OSS支持流式写入和文件写入两种方式。 网页或者移动应用的静态和动态资源分离 利用海…

word、excel、ppt 办公文件 在线预览

如果想要免费的&#xff0c;可以用 openoffice&#xff0c;实现原理就是&#xff1a; 通过第三方工具openoffice&#xff0c;将word、excel、ppt、txt等文件转换为pdf文件流&#xff1b;当然如果装了Adobe Reader XI&#xff0c;那把pdf直接拖到浏览器页面就可以直接打开预览&a…

生成PDF乱码问题

文章目录1. 准备字体2. 安装字体3. 重启服务器1. 准备字体 将Windows下的Fonts&#xff0c;如&#xff1a;C:\Windows\Fonts&#xff0c;压缩成Fonts.zip压缩包 2. 安装字体 将压缩包拷贝到Linux目录下&#xff0c;执行如下命令即可&#xff1a; unzip Fonts.zip mkdir /u…

30 年开源老兵,10 年躬耕 OpenStack,开源 1000 万行核心代码

受访者 | Jonathan Bryce记者 | 伍杏玲出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;万物互联时代下&#xff0c;我们的一切都在依赖计算基础设施&#xff0c;科学、金融、政府、教育、通信和医疗保健依赖现代云基础设施来运行和改进。而开源是让全世界大多数人获…

力展物流公司上云 低成本、实例资源使用效率提升

公司介绍 我们公司是成都力展供应链管理有限公司&#xff0c;于2019年4月注册&#xff0c;注册资金1000万&#xff0c;并于2019年6月投资了四川力展物流有限责任公司和成都力展鸿翔物流有限公司&#xff0c;分别入股900W和400W。业务痛点 我们公司成立不久&#xff0c;但动作频…

OpenOffice+JodConverter实现Office文件到PDF的转换

文章目录1. OpenOffice 下载、安装、启动2. JodConverter下载3. 文件转化4. 中文乱码5. 解决中文乱码1. OpenOffice 下载、安装、启动 openoffice 安装 linux环境 2. JodConverter下载 JodConverter是一款利用OpenOffice进行转化的工具&#xff0c;可以在Office文件和OpenOff…

OpenInfra Days China 2020大会议程已上线!

距离OpenInfra Days China 2020线上活动开幕还有不到半个月的时间&#xff0c;议题征集与筛选工作已于七月底正式结束&#xff0c;目前大会议程已正式公布&#xff01; 本次OpenInfra Days China主题演讲由OpenStack基金会执行董事Jonathan Bryce&#xff0c;中国电子技术标准化…

阿里云高校“在家实践”计划,免费提供2.68亿小时算力!

计划简介 新冠肺炎疫情防控阻击战持续推进&#xff0c;为全力配合教育部延期开学&#xff0c;高校在线上课共同抗击疫情&#xff0c;阿里云弹性计算联合开发者社区紧急上线高校师生“在家实践”计划&#xff0c;向全国高校学生、教师免费提供2.68亿小时云服务器ECS算力&#xf…

启迪公交上云助力北京公交二维码乘车业务系统顺利上线

公司介绍 我们公司是国内领先的公交出行服务提供商&#xff0c;通过承接公交信息化和智慧化项目建设&#xff0c;应用最先进的互联网商业模式&#xff0c;将“人、车、线、站”的大数据资源及相关配套资源进行商业化转换&#xff0c;实现行业引领&#xff0c;提升公交系统的创新…

MVC与MVVM的区别

MVC与MVVM MVC是Model-View- Controller的简写&#xff1a;模型(model) 视图(view) 控制器(controller) ​ Model&#xff08;模型&#xff09;&#xff1a;是应用程序中用于处理应用程序数据逻辑的部分。 ​ View&#xff08;视图&#xff09;&#xff1a;是应用程序中处理…

项目 接入 在线预览

文章目录1. 项目链接2. 克隆项目3. 接入规范4. 项目接入测试5. 参考案例1. 项目链接 https://gitee.com/kekingcn/file-online-preview 2. 克隆项目 git clone gitgitee.com:kekingcn/file-online-preview.git3. 接入规范 # 如果你的项目需要接入文件预览项目&#xff0c;…

阿里技术文档:Redis+Nginx+Spring全家桶+Dubbo精选

最近花了很长的时间去搜罗整理Java核心技术好文&#xff0c;我把每个Java核心技术的优选文章都整理成了一个又一个的文档。今天就把这些东西分享给老铁们&#xff0c;也能为老铁们省去不少麻烦&#xff0c;想学什么技能了&#xff0c;遇到哪方面的问题了 直接打开文档学一学就好…

入门云监控部署业务

云监控概览为您提供了云服务资源使用概览、报警概览、重要事件概览和资源使用情况概览。 您可以实时了解各云服务的资源保有、使用水位和报警情况。 云服务概览 云服务概览提供主机&#xff08;包括云服务器 ECS 和安装云监控插件的非ECS 机器&#xff09;、负载均衡、弹性公…

游戏行业应该如何建设数据中台?

责编 | 晋兆雨来源 |智领云科技封图 | CSDN 下载自视觉中国随着网络世界的迅猛发展&#xff0c;“游戏”进入了前所未有的蓬勃发展期。根据Newzoo数据显示&#xff0c;2019年全球游戏市场规模约为1521亿美元&#xff0c;2015-2019年复合增长率达到13.4%&#xff0c;预计2020年全…