swagger

spring整合swagger报错NoSuchMethodError: org.springframework.web.util.UriComponentsBuilder.fromHttpReq...

限于喜欢 提交于 2020-05-08 17:20:38
@参考博客 java.lang.NoSuchMethodError: org.springframework.web.util.UriComponentsBuilder.fromHttpRequest(Lorg/springframework/http/HttpRequest;)Lorg/springframework/web/util/UriComponentsBuilder; at springfox.documentation.swagger2.web.HostNamePr 原因:原因是spring-web版本不配对swagger2,UriComponentsBuilder内部方法找不到 解决办法:io.springfox俩个包若是2.7.0的版本,spring-web包的版本至少要4.1.6。搭配使用,要么spring整体升级版本,要么swagger降版本。 来源: oschina 链接: https://my.oschina.net/u/4364008/blog/4270622

资源配置 实现 文件预览

▼魔方 西西 提交于 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

Swagger2 隐藏Models 模块的方法

旧时模样 提交于 2020-05-08 09:49:10
今天看到群里有人再问Swagger2相关的问题,感觉自己也算用了有些时间了应该能解答吧,如下: 问题:Swagger2里的Models模块如何隐藏? 看到这个问题之后,第一时间想到了Swagger的配置类,看了配置属性没发现相关设置,于是开始百度,找了半天只找到两个帖子是关于Swagger2隐藏Models的,竟都无人回复,这下只能靠自己了,最后也算是百度给了些灵感,还是根据源码来分析,想着应该会有这个配置项,最终还是被我发现了,故而记录一下,也方便有同样需求的童鞋参考。 解决方法: 在Swagger2Config配置类中增加UI相关配置方法,设置defaultModelsExpandDepth(-1),-1表示隐藏Models @Bean public UiConfiguration uiConfig() { return UiConfigurationBuilder.builder() .deepLinking(true) .displayOperationId(false) // 隐藏UI上的Models模块 .defaultModelsExpandDepth(-1) .defaultModelExpandDepth(0) .defaultModelRendering(ModelRendering.EXAMPLE) .displayRequestDuration(false)

Why does the getPaths method of Swagger Parser not return all paths?

人走茶凉 提交于 2020-05-07 07:16:46
问题 I have a Swagger 1.2 doc.json and the following Java code which uses Swagger Parser to extract all the paths from this document. The problem is that the parser does not get all the paths (from 50 it shows me only 27). public class Temps { public static void main (String[]args ) { int totale=0; Swagger swagger = new SwaggerParser().read("C:\\Users\\eya\\Desktop\\nodes.json"); Map<String, Path> paths = swagger.getPaths(); for (Map.Entry<String, Path> p : paths.entrySet()) { Path path = p

nacos配置管理与服务发现

守給你的承諾、 提交于 2020-05-06 12:48:44
maven配置 父pom文件 <?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.ivan</groupId> <artifactId>pinellia</artifactId> <packaging>pom</packaging> <version>1.0.0-SNAPSHOT</version> <modules> <module>pinellia-common</module> <module>pinellia-service</module> <module>pinellia-service-api</module> <module>pinellia-auth</module> <module>pinellia-gateway</module> <

从壹开始前后端分离 [.netCore 填坑 ] 三十四║Swagger:API多版本控制,带来的思考

你。 提交于 2020-05-06 08:50:38
前言 大家周二好呀,.net core + Vue 这一系列基本就到这里差不多了,今天我又把整个系列的文章下边的全部评论看了一下(我是不是很负责哈哈),提到的问题基本都解决了,还有一些问题,已经在QQ群里讨论过了,今天再写一篇,然后给这个系列画一个暂时的句号吧,这些天也考虑写点儿啥,希望看到的小伙伴给点儿意见哟,其实我也是能力有限,不敢保证精通,不过只要想学,基本都能学到点儿东西的,至少至少能给大家在繁忙或者无聊的开发生涯中,多一点儿学习的动力吧,至少群里边的小伙伴是这样(马上破百了,快来加入我们吧),目前写的都是浅显的,打算下一步向架构师微服务方向简单拓展下,这两天简单看了一下,真是云里来雾里去,不是很通俗,还得自己啃,一起加油吧!!! 1、什么是版本控制 这个词语大家已经不会陌生,平时开发的时候,一定会用到过 Git 、SVN 或者 VSS (这三个我都用过,Git 应该是最好的),这个就是源代码的版本控制。 来句官方定义:版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。 那今天我们说的,就是 api接口的版本控制,这个大家一定也都接触到了,在我们使用的 swagger 中是这样的: 2、api版本控制的好处 简单来说,接口是APP的重要组成部分,数据是APP的核心,接口是连接APP和数据的纽带(这里的 APP

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

解决swagger跨项目或跨程序集注释不显示问题

廉价感情. 提交于 2020-05-06 03:43:45
背景 我们在使用Swagger生成 .NET Core Web Api 项目接口文档时候,发现接口的 入参 和 出参 的注释是看不见的,如下: 但是我想要结果是这样: 原因分析以及方案 为什么没有显示注释呢,注释确实写了呀? 原因很简单,通常我们用Swagger的时候只加载当前项目生成的 xml 注释文件,例如这样: var xmlPath = Path.Combine(basePath, "AppData", "XXX.WebAPI.xml"); services.AddSwaggerGen(c => { c.IncludeXmlComments(item); } 如果你的 入参 和 出参 的实体不在当前项目文件下,而是在 Model层 或者 领域层 创建的,肯定是没有的。 怎么解决? 首先 入参 和 出参 的实体所在项目要 勾选 输出 xml 注释文件; 这个简单在项目的属性->生成页面勾选就行; Swagger要加载 xml 注释文件; 代码如下: public void ConfigureServices(IServiceCollection services) { services.AddSwaggerGen(c => { foreach (var item in XmlCommentsFilePath) { c.IncludeXmlComments(item); } }

SpringBoot整合knife4j

淺唱寂寞╮ 提交于 2020-05-04 00:08:54
官网说明及用法: 简介 swagger-bootstrap-ui 是springfox-swagger的增强UI实现,为Java开发者在使用Swagger的时候,能拥有一份简洁、强大的接口文档体验 核心功能 该UI增强包主要包括两大核心功能:文档说明 和 在线调试 文档说明:根据Swagger的规范说明,详细列出接口文档的说明,包括接口地址、类型、请求示例、请求参数、响应示例、响应参数、响应码等信息,使用swagger-bootstrap-ui能根据该文档说明,对该接口的使用情况一目了然。 在线调试:提供在线接口联调的强大功能,自动解析当前接口参数,同时包含表单验证,调用参数可返回接口响应内容、headers、Curl请求命令实例、响应时间、响应状态码等信息,帮助开发者在线调试,而不必通过其他测试工具测试接口是否正确,简介、强大。 UI增强 同时,swagger-bootstrap-ui在满足以上功能的同时,还提供了文档的增强功能,这些功能是官方swagger-ui所没有的,每一个增强的功能都是贴合实际,考虑到开发者的实际开发需要,是比不可少的功能,主要包括: 个性化配置:通过个性化ui配置项,可自定义UI的相关显示信息 离线文档:根据标准规范,生成的在线markdown离线文档,开发者可以进行拷贝生成markdown接口文档

使用knife4j后,终于放弃了swagger-ui

♀尐吖头ヾ 提交于 2020-05-03 20:16:32
介绍 knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名kni4j是希望它能像一把匕首一样小巧,轻量,并且功能强悍! knife4j的前身是swagger-bootstrap-ui,为了契合微服务的架构发展,由于原来swagger-bootstrap-ui采用的是后端Java代码+前端Ui混合打包的方式,在微服务架构下显的很臃肿,因此项目正式更名为knife4j。 目前项目主要的模块如下: 此示例根据官方文档介绍演示。 开源仓库 Github https://github.com/xiaoymin/swagger-bootstrap-ui 码云 https://gitee.com/xiaoym/knife4j 核心功能 该UI增强包主要包括两大核心功能:文档说明 和 在线调试 文档说明:根据Swagger的规范说明,详细列出接口文档的说明,包括接口地址、类型、请求示例、请求参数、响应示例、响应参数、响应码等信息,使用swagger-bootstrap-ui能根据该文档说明,对该接口的使用情况一目了然。 在线调试:提供在线接口联调的强大功能,自动解析当前接口参数,同时包含表单验证,调用参数可返回接口响应内容、headers、Curl请求命令实例、响应时间、响应状态码等信息,帮助开发者在线调试