Swagger UI

资源配置 实现 文件预览

▼魔方 西西 提交于 2020-05-08 12:04:32
通过 springmvc 的 registry.addResourceHandler 实现 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import com.operlib.common.constant.Constants; import com.operlib.framework.interceptor.RepeatSubmitInterceptor; /** * 通用配置 * * @author ruoyi */ @Configuration public class ResourcesConfig

SpringBoot2.x使用EasyPOI导入Excel浅谈

不羁的心 提交于 2020-05-08 07:11:30
SpringBoot2.x使用EasyPOI导入Excel浅谈 平时经常遇到客户要帮忙导入一些数据到数据库中,有些数据比较多有时候手动录入就会很耗时间,所以就自己写一个Excel导入的demo记录一下我对EasyPOI的误区;本文使用 SpringBoot2.0 , EasyPOI 开发框架 框架:SpringBoot2.0 java jdk 1.8 开发工具:Eclipse 数据库:Orcal 一.首先在pom.xml中导入EasyPOI的架包 pom.xml的主要文件信息如下: <!-- easypoi --> <dependency> <groupId>cn.afterturn </groupId> <artifactId>easypoi-base </artifactId> <version>3.0.3 </version> </dependency> <dependency> <groupId>cn.afterturn </groupId> <artifactId>easypoi-web </artifactId> <version>3.0.3 </version> </dependency> <dependency> <groupId>cn.afterturn </groupId> <artifactId>easypoi-annotation </artifactId>

Springboot 系列(十六)你真的了解 Swagger 文档吗?

断了今生、忘了曾经 提交于 2020-05-06 09:47:33
前言 目前来说,在 Java 领域使用 Springboot 构建微服务是比较流行的,在构建微服务时,我们大多数会选择暴漏一个 REST API 以供调用。又或者公司采用前后端分离的开发模式,让前端和后端的工作由完全不同的工程师进行开发完成。不管是微服务还是这种前后端分离开发,维持一份完整的及时更新的 REST API 文档,会极大的提高我们的工作效率。而传统的文档更新方式(如手动编写),很难保证文档的及时性,经常会年久失修,失去应有的意义。因此选择一种新的 API 文档维护方式很有必要,这也是这篇文章要介绍的内容。 <!-- more --> 1. OpenAPI 规范介绍 OpenAPI Specification 简称 OAS,中文也称 OpenAPI 描述规范,使用 OpenAPI 文件可以描述整个 API,它制定了一套的适合通用的与语言无关的 REST API 描述规范,如 API 路径规范、请求方法规范、请求参数规范、返回格式规范等各种相关信息,使人类和计算机都可以不需要访问源代码就可以理解和使用服务的功能。 下面是 OpenAPI 规范中建议的 API 设计规范,基本路径设计规范。 https://api.example.com/v1/users?role=admin&status=active \________________________/\____/ \__

Go gRPC进阶-gRPC转换HTTP(十)

可紊 提交于 2020-05-06 07:58:56
前言 我们通常把 RPC 用作内部通信,而使用 Restful Api 进行外部通信。为了避免写两套应用,我们使用 grpc-gateway 把 gRPC 转成 HTTP 。服务接收到 HTTP 请求后, grpc-gateway 把它转成 gRPC 进行处理,然后以 JSON 形式返回数据。本篇代码以上篇为基础,最终转成的 Restful Api 支持 bearer token 验证、数据验证,并添加 swagger 文档。 gRPC转成HTTP 编写和编译proto 1.编写simple.proto syntax = "proto3"; package proto; import "github.com/mwitkow/go-proto-validators/validator.proto"; import "go-grpc-example/10-grpc-gateway/proto/google/api/annotations.proto"; message InnerMessage { // some_integer can only be in range (1, 100). int32 some_integer = 1 [(validator.field) = {int_gt: 0, int_lt: 100}]; // some_float can only be in

SpringBoot集成百度UEditor图片上传后直接访问404解决办法

大兔子大兔子 提交于 2020-05-04 00:54:16
SpringBoot项目上传图片一般是上传至远程服务器存储,开发过程中可能会上传至当前项目的某个静态目录中,此时就会遇到这个问题,文件在上传之后直接访问并不能被访问到,必须重新加载项目。 首先分析一下原因: 我们知道,如果使用类似 /upload/image/1.jpg 这种格式进行图片的访问的时候,SpringBoot读取的并不是本项目中直接的静态目录,而是在进行编译的时候生成target目录下的文件,如下图所示: 那么问题就来了,我们在运行的过程中上传一个图片的话,并不能重新加载当前这个项目,也就是target目录下的文件一直是之前的文件,尽管有人说我进行了SpringBoot热部署(dev-tools),能够自动重新加载项目,但是问题是热部署也需要一定的时间去分析和重新加载项目,所以上传文件后直接进行访问肯定就不能实现了。 简单来说:文件只是单纯的上传到项目的文件夹中,并没有在target目录下生成对应的文件,导致访问不到。 在网上看了一个博客,说可以在将文件复制到本地的时候也将文件复制到项目的target目录下,这样就可以访问了,听着也非常的有道理,但是实践出真知,经过我的测试,并不能实现,不知道是因为我的问题还是什么,所以并不推荐大家使用这个方法,当然感兴趣的也可以测试一下,毕竟这个听着是真的很有道理。 解决办法:配置映射路径拦截器,将虚拟路径映射为真是图片地址

SpringBoot 集成Swagger2自动生成文档和导出成静态文件

血红的双手。 提交于 2020-05-02 14:19:52
目录 1. 简介 2. 集成Swagger2 2.1 导入Swagger库 2.2 配置Swagger基本信息 2.3 使用Swagger注解 2.4 文档效果图 3. 常用注解介绍 4. Swagger2文档导出成pdf 4.1 生成pdf的格式 4.2 生成静态文档步骤 4.2.1 配置gradle 4.2.2 生成swagger json文件 4.2.3 生成swagger markdown文件 4.2.4 markdown转pdf 1. 简介 今天是五一的一天,武汉因为疫情不能随意出去,写篇博客打发时间。今天介绍一款非常热门的API开发工具-----Swagger,其遵循OpenAPI规范。使用简单、可以自动化生成API文档、可以模拟HTTP接口请求等强大的功能。它可以节省 我们 的开发时间,从而提高工作效率。不仅如此,Swagger还支持生成静态文档的功能,可以用来交付一些对文档要求并不是很高的客户。 2. 集成Swagger2 SpringBoot 集成Swagger也非常简单,同样也是简单的三个步骤:导包、配置和使用。 2.1 导入Swagger库 swaggerVersion = '2.6.1' compile("io.springfox:springfox-swagger2:${swaggerVersion}") compile("io.springfox

asp.net core swagger使用及注意事项

 ̄綄美尐妖づ 提交于 2020-05-02 09:58:29
  Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。是一款RESTFUL接口的 文档在线自动生成+功能测试 软件。 主要目的是构建 标准的、 稳定的、可重用的、 交互式的 API以及简单方便的 功能测试 。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。 作用: 1. 根据基于规范的标准设计和建模API 2. 几乎可以用任何语言为您的API构建稳定,可重用的代码  3. 使用交互式API文档改善开发人员体验  4. 对您的API执行简单的功能测试,而无需开销  5. 在您的API架构中设置和实施API样式指南 一 、swagger的创建   1.新建asp.net core项目 2.nuget上安装 Swashbuckle.AspNetCore Swashbuckle有三个主要组件: Swashbuckle.AspNetCore.Swagger :一个Swagger对象模型和中间件,用于将 SwaggerDocument 对象 公开 为JSON端点。 Swashbuckle.AspNetCore.SwaggerGen :一个Swagger生成器,可 SwaggerDocument

Maven + SpringMVC项目集成Swagger

北城余情 提交于 2020-05-02 09:58:13
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。 作用: 接口的文档在线自动生成。 功能测试。 下面通过实现一个web项目来演示Swagger的使用。 1. 新建SpringMVC项目 1.1 新建项目 新建基于maven的web项目,导入spring相关依赖如下 <? xml version="1.0" encoding="UTF-8" ?> < project xmlns ="http://maven.apache.org/POM/4.0.0" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation ="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > < modelVersion > 4.0.0 </ modelVersion > < groupId > com.zang.xz </ groupId > < artifactId > mySwagger </ artifactId > <

接口文档管理工具-Postman、Swagger、RAP(转载)

青春壹個敷衍的年華 提交于 2020-05-02 09:58:01
接口文档管理工具-Postman、Swagger、RAP 转自:http://www.51testing.com/html/10/n-3715910.html   在项目开发 测试 中,接口文档是贯穿始终的。前后端开发需要在开发前期进行接口定义并形成文档,QA在 功能测试 和 接口测试 的环节也需要依赖于这些接口文档进行测试。接口文档往往以最简单的静态文档的形态存在。然而在紧张的敏捷开发模式下,随着版本迭代,很多接口发生了变化或者被废弃,而开发几乎不会在后期去更新这种静态文档。QA人员阅读“过期”的接口文档是一件痛苦的事情,与开发的沟通成本不降反升。而这些不便于及时维护的静态文档,随着时间的推移最终无人问津。因此,我们想要找到一种长期可维护且轻量便捷的接口文档工具。    Postman   Postman是被大家所熟知的网页调试Chrome插件,我们常常用它来进行临时的http请求调试。幸运的是,Postman可以将调试过的请求保存到Collection中。形成的Collection就可以作为一份简单有效且支持在线测试的接口文档,使用同一账号登录就可以做到分享和同步。对QA来说,使用Postman进行接口测试和接口文档维护是同一件事情,测试即文档,维护成本也很低。    Swagger   “Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的

认识界上最流行的Api框架——swagger

青春壹個敷衍的年華 提交于 2020-05-02 09:57:46
认识界上最流行的Api框架——swagger swagger简介 swagger是支持多种编程语言的 Api框架 。可以直接运行, 在线测试API接口 。有 RestFul Api文档在线自动生成工具 ,并且能够达到Api文档与API定义 同步更新 。 由于前端和后端分离式开发的广泛应用,许多前端人员无法做到问题处理同步,为了提高问题的处理效率,以及避免工作中前后端工作人员的矛盾,就需要‘即时协商,目标同步’。对于这个问题,最早的解决方法是使用: 指定schema并实时更新最新API、word计划文档、后端提供接口,前端用postman测试后端接口 三种方法。但是这几种方法并不能达到即时的效果,所以swagger就应时而生。 作为 世界上最流行的API框架 ,swagger在项目中使用时需要springfox( swagger2和swagger-ui )。这就需要在项目中导入以下两个依赖: <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> <