首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

再见丑陋的 SwaggerUI,这款API文档生成神器界面更炫酷,逼格更高!

但随着系统功能的不断增加,接口数量的爆炸式增长,Swagger 的使用体验就会变得越来越差,比如请求参数为 JSON 的时候没办法格式化,返回结果没办法折叠,还有就是没有提供搜索功能。...第一步,在 pom.xml 中添加 springfox 的官方 Swagger 依赖: io.springfox 在 Controller 类中,可以看到常见的 Swagger 注解 @Api 和 @ApiOperation: @Controller @Api(tags = "文章 ") @RequestMapping...默认情况下,Swagger 只会扫描解析具有 @Api 注解的类。 @ApiOperation 注解用在方法上,该注解在指定的方法上,对一个方法进行描述。...2)支持 JSON 折叠 Swagger 是不支持 JSON 折叠的,当返回的信息非常多的时候,界面就会显得非常的臃肿。Knife4j 则不同,可以对返回的 JSON 节点进行折叠。

1.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Quarkus集成open api使用swagger ui(7)

    前言 Quarkus中对swagger ui也有支持,但是和spring 中直接集成swagger ui功能不同,Quarkus中使用open api规范得到接口的json数据,然后使用swagger...所以在Quarkus中集成swagger ui时,会发现没有swagger ui那些接口标记注解了,取而代之的是open api规范中的注解。下面来捋一捋他们的关系,看看怎么在Quarkus中使用。...综上可知,在Quarkus中,最终使用的是smallrye-open-api。...中的@SwaggerDefinition注解 效果如下: 接口信息定义 /** * @author kl : http://kailing.pub * @version 1.0 * @date 2020...所以使用方式上也区别了在spring环境中使用的方式,那些熟悉的swagger ui本身定义的注解都没有了,需要重新学习microprofile-open-api中定义的注解了,好在注解变化不大,学习起来没啥难度

    45040

    SpringCloud中多个子模块如何集成Swagger文档

    不知道大家工作中有没有使用Swagger,可能没有用过,但是肯定或多或少的接触过、听说过,它是一款基于Restfull接口的文档在线生成 + 功能测试的工具。...总不能每个模块单独集成一个, 那么当有很多个模块的时候,是不是相应的也就产生了很多的地址,这样对我们来说确实不是一件非常友好的事情,那么有没有办法解决呢?... 1.7.0.RELEASE 接下来就是在订单模块和会员模块的启动类上加上开启Swagger的注解,让Swagger...在订单模块和会员模块的application.yml中配置接口的扫描范围 ?...接下来就是重点了,配置网关,首先引入swagger的maven坐标,同样在启动类上开启Swagger,并且开启路由服务 ?

    5K21

    历经14天自定义3个注解解决项目的3个Swagger难题

    2、springfox大致原理 springfox的大致原理就是,在项目启动的过程中,spring上下文在初始化的过程,框架自动跟据配置加载一些swagger相关的bean到当前的上下文中,并自动扫描系统中可能需要生成...2、Swagger的可扩展组件 在源码中:可以看到下图所示的一些Plugin结尾的接口文件,我们就是要在这些上面做文章的。...在Spring中的自动装配原理,可以去了解下。在本项目中,我们使用的是Spring的@Component注解或者@Configuration注解来实现的自动注入到pojo中。...apply方法中我们去手动扫描我们自定义的注解,然后加上相关实现的逻辑即可。 代码是没放全的,太长了,只选择了部分来放。感兴趣的话,可以去我的github上拉取,随后我还会说如何直接应用的办法。...(二)实战二:减少在Controller中Swagger的代码,使其可以从某些文件中读取信息,自动配置Swagge的功能 1、需求来源 我们需要对接口的返回值进行描述,例如: code为200的返回值:

    8.3K198162

    给Swagger换了个新皮肤,瞬间高大上了!

    在pom.xml中增加knife4j的相关依赖; 中增加一个@EnableKnife4j注解,该注解可以开启knife4j的增强功能; /** * Swagger2API文档的配置 */ @Configuration @EnableSwagger2...JSON功能增强 平时一直使用Swagger,但是Swagger的JSON支持一直不是很好,JSON不能折叠,太长没法看,传JSON格式参数时,没有参数校验功能。...这些痛点,在knife4j上都得到了解决。 返回结果集支持折叠,方便查看; ? 请求参数有JSON校验功能。 ? 登录认证 knife4j也支持在头部添加Token,用于登录认证使用。...首先在Authorize功能中添加登录返回的Token; ? 之后在每个接口中就可以看到已经在请求头中携带了Token信息。 ?

    1.4K10

    历经14天自定义3个注解解决项目的3个Swagger难题

    ,使其具有相关参数的描述的功能 1、需求来源 2、需求分析 3、开发思路 (1)走的弯路 (2)正确的路 4、关键代码 5、实战成果 (二)实战二:减少在Controller中Swagger的代码,使其可以从某些文件中读取信息...2、springfox大致原理 ​ springfox的大致原理就是,在项目启动的过程中,spring上下文在初始化的过程,框架自动跟据配置加载一些swagger相关的bean到当前的上下文中,并自动扫描系统中可能需要生成...2、Swagger的可扩展组件 在源码中:可以看到下图所示的一些Plugin结尾的接口文件,我们就是要在这些上面做文章的。...在Spring中的自动装配原理,可以去了解下。在本项目中,我们使用的是Spring的@Component注解或者@Configuration注解来实现的自动注入到pojo中。...apply方法中我们去手动扫描我们自定义的注解,然后加上相关实现的逻辑即可。 代码是没放全的,太长了,只选择了部分来放。感兴趣的话,可以去我的github上拉取,随后我还会说如何直接应用的办法。

    1.1K51

    Spring Boot集成Swagger2

    不知道大家有没有这样的经历,当你写完接口的时候,还需要去写一份接口文档提供给公司的前端,我实习的时候就是自己写完接口还要写一份文档给他们看,但是现在基本上不会再采用这种方式了,我们都采用一些工具或者框架来生成... 2.8.0 这个时候我们在浏览器输入http://127.0.0.1:8089...,也少不了方法上面的注解,@ApiOperation:注解来给API增加方法说明。...@ApiParam 是注解api的参数,也是用于swagger提供开发者文档 比如这种传入实体类的 @ApiOperation(value = "新建文章", notes = "插入文章,传入JSON...,一个是@ApiIgnore,它的作用就是隐藏一些接口,如果我们还没有写好,或者不准备暴露出去,我们可以用此注解,另外一个是@ApiModel,它是作用在实体类上面的,我们可以对字段加一些说明,这样在swagger

    1.4K10

    Spring Boot 集成 Swagger 构建接口文档

    在应用开发过程中经常需要对其他应用或者客户端提供 RESTful API 接口,尤其是在版本快速迭代的开发过程中,修改接口的同时还需要同步修改对应的接口文档,这使我们总是做着重复的工作,并且如果忘记修改接口文档...文件的方法、参数和模型紧密集成到服务器端的代码中,允许 API 始终保持同步。 下面我们在 Spring Boot 中集成 Swagger 来构建强大的接口文档。...配置类 Swagger2Configuration,在配置类上加入注解 @EnableSwagger2,表明开启 Swagger,注入一个 Docket 类来配置一些 API 相关信息,apiInfo...hidden:如果值为 true,就会在文档中隐藏。...总结 Swagger 可以轻松地整合到 Spring Boot 中构建出强大的 RESTful API 文档,可以减少我们编写接口文档的工作量,同时接口的说明内容也整合入代码中,可以让我们在修改代码逻辑的同时方便的修改接口文档说明

    95352

    JAVA中让Swagger产出更加符合我们诉求的描述文档,按需决定显示或者隐藏指定内容

    在前一篇文档《JAVA中自定义扩展Swagger的能力,自动生成参数取值含义说明,提升开发效率》中,我们探讨了如何通过自定义注解的方式扩展swagger的能力让Swagger支持自动从指定的枚举类生成接口文档中的字段描述的实现思路...针对单个接口进行隐藏 在单个接口方法的上方添加 @ApiOperation 注解说明,并指定 hidden = true即可将该接口从swagger界面能上隐藏: @GetMapping("/test"...界面,发现该接口没有出现在界面上: 隐藏整个Controller类中的接口 如果整个Controller类下面所有的接口都需要隐藏,则可以在Conntroller类上添加上@ApiIgnore注解可以了...隐藏响应中不愿暴露的属性 在项目开发过程中,如果我们的代码没有做强制的VO、DO隔断,出于减少编码量考虑,可能会使用同一个对象进行内部处理以及外部交互。...我们可以通过在指定字段上添加@ApiModelProperty注解并指定hidden = true来将其从接口文档中隐藏掉。

    2.3K10

    SpringBoot项目集成knif4j,从此告别手写Api文档

    那么有没有一款工具让我们不用再些这些繁琐的API文档呢?答案是有的。...之前我们在项目中配置swagger结合相关的注解来生成API文档界面,只是界面不是那么美观,还必须在每个接口控制器方法中添加很多的注解,代码侵入性比较强。...现在越来越多的开发人员使用Knif4j来生成API文档,它是升级版的swagger, 不仅具有美观的界面,而且不需要在控制器方法中添加非常多的参数注解。...swagger-bootstrap-ui的所有特性都会集中在knife4j-spring-ui包中,并且后续也会满足开发者更多的个性化需求。...总结起来就一下四个步骤: pom.xml文件中引入knife4j-spring-boot-strater组件的起步依赖 配置swagger2文档Docket类bean,在接口扫描基础包中制定自己项目中控制器类所在的包名

    3.2K20

    SpringBoot整合Swagger,让开发更遍历

    下面是 Swagger 的一些主要功能和组件: API 文档自动生成: Swagger 可以根据代码中的注解自动生成 API 文档。...开发人员只需要在代码中添加一些特定的注解,描述 API 的路径、参数、响应等信息,Swagger 就可以自动扫描代码并生成相应的 API 文档。...集成开发环境支持: Swagger 可以集成到各种常见的集成开发环境(IDE)中,如 Eclipse、IntelliJ IDEA 等,提供了便捷的 API 设计和文档编写功能。...@Bean:这个注解表明 buildDocket() 方法将会产生一个 Spring Bean,并将其加入到 Spring 容器中。...⭐在Java类中添加Swagger的注解即可生成Swagger接口文档⭐ ⭐访问Swagger文档:http://{你的IP}:{你的项目服务端口}/swagger-ui.html⭐ http://localhost

    31000

    谁家面试往死里问 Swagger 啊?

    容器中注册一个BeanPostProcessor,在该处理器中对 HandlerMappings 进行定制。...@ApiIgnore上边我们提到可以根据指定路径或者包路径来提供API,也可以使用粒度更细的@ApiIgnore注解,来实现某个API在文档中忽略。...value:API 接口的描述信息,由于版本swagger版本原因,value可能会不生效可以使用descriptionhidden:该 API 是否在 Swagger 文档中隐藏tags:API 的标签...hidden:在文档中隐藏该接口response:返回的对象tags:使用该注解后,该接口方法会单独进行分组produces:API的响应内容类型,例如 application/json。...", required = true) String id) { return id;}......总结尽管在面试中不会过多考察Swagger这类工具,但作为开发者,养成良好的文档规范习惯是非常重要的

    44540

    深度剖析Swagger原理swagger简介

    springfox大致原理 springfox的大致原理就是,在项目启动的过种中,spring上下文在初始化的过程,框架自动跟据配置加载一些swagger相关的bean到当前的上下文中,并自动扫描系统中可能需要生成...第二个注解@EnableWebMvc故名思义,就是启用springmvc了,在Eclipse中点到这个注解里面简单看一下,它就是通过元注解@Import(DelegatingWebMvcConfiguration.class...类,并通过ComponentScan注解,自动扫描springfox .swagger2相关的的bean到spring context中。...我们Swagger往往是用于测试环境供项目前端团队开发或供别的系统作接口集成使上。系统上线后,很可能在生产系统上隐藏这些api列表。...api分组,是通过在ApiConf这个配置文件中,通过@Bean注解定义一些Docket实例,网上常见的配置如下: @EnableWebMvc @EnableSwagger2 publicclass ApiConfig

    5.4K21

    一站式解决使用枚举的各种痛点

    ,在自定义枚举类的工厂方法上标记该注解,用于 EnumMvcConverter 来进行枚举转换 EnumConvertMethod 的具体源码如下: @Target({ElementType.METHOD...在 JPA 规范中,提供了 javax.persistence.AttributeConverter 接口,用于扩展对象属性和数据库字段类型的映射。...@JsonValue:在序列化时,只序列化 @JsonValue 注解标注的值 @JsonCreator:在反序列化时,调用 @JsonCreator 标注的构造器或者工厂方法来创建对象 最后的代码如下...现在大部分的代码都在使用 swagger 来编写文档,不知道大家有没有这样的痛点: 在编写文档时,需要告诉前端枚举类型有哪些取值,每次增加取值之后,不仅要改代码,还要找到对应的取值在哪里使用了,然后修改...反正小黑我觉得这样做很不爽,那有没有什么办法可以让 swagger 框架来帮我们自动列举出所有的枚举数值呢?办法当然是有的啦!

    1.8K20
    领券