Spring Cloud之Swagger2 API接口管理

Spring Cloud Gateway聚合Swagger2文档(初始版) 在spring Cloud架构下,由于各个微服务拥有独立的Swagger接口文档,但我们不可能每次零散地通过各个服务的端口去访问需要查看的服务接口文档,所以为了能更加直观方便得查看,我们可以在Spring Cloud Gateway网关模块聚合各微服务的Swagger接口文档。 依赖版本: 依赖 版本 Spring Boot 2.3.0.RELEASE Spring Cloud Hoxton.SR4 springfox-swagger2 2.8.0 springfox-swagg 阅读详情

Spring Cloud之Swagger2 API接口管理

随着微服务架构体系的发展和应用, 为了前后端能够更好的集成与对接,同时为了项目的方便交付,每个项目都需要提供相应的API文档。

 

来源:PC端、微信端、H5端、移动端(安卓和IOS端)

 

传统的API文档编写存在以下几个痛点:

对API文档进行更新的时候,需要通知前端开发人员,导致文档更新交流不及时;

API接口返回信息不明确

 

大公司中肯定会有专门文档服务器对接口文档进行更新。

 

 

缺乏在线接口测试,通常需要使用相应的API测试工具,比如postman、SoapUI等

接口文档太多,不便于管理

为了解决传统API接口文档维护的问题,为了方便进行测试后台Restful接口并实现动态的更新,因而引入Swagger接口工具。

 

Swagger具有以下优点

1.功能丰富:支持多种注解,自动生成接口文档界面,支持在界面测试API接口功能;

2.及时更新:开发过程中花一点写注释的时间,就可以及时的更新API文档,省心省力;

3.整合简单:通过添加pom依赖和简单配置,内嵌于应用中就可同时发布API接口文档界面,不需要部署独立服务。

 

<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.1.RELEASE</version>
	</parent>
	<!-- 管理依赖 -->
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Finchley.M7</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
	<dependencies>
		<!-- SpringBoot整合Web组件 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<!-- SpringBoot整合eureka客户端 -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
		</dependency>
		<!-- swagger2  一个做ui 一个做提供接口的-->
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger2</artifactId>
			<version>2.8.0</version>
		</dependency>
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger-ui</artifactId>
			<version>2.8.0</version>
		</dependency>
	</dependencies>
	<!-- 注意: 这里必须要添加, 否者各种依赖有问题 -->
	<repositories>
		<repository>
			<id>spring-milestones</id>
			<name>Spring Milestones</name>
			<url>https://repo.spring.io/libs-milestone</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
	</repositories>

  

Controller:

package com.toov5.api;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

@Api("swaggerdemo控制器")  //接口描述
@RestController
public class SwaggerController {
    @ApiOperation(value = "swagger演示接口")   //具体描述
    @GetMapping("/swaggerIndex")
    public String swaggerIndex() {
        
        return "swaggerIndex";
    }
}

 

创建config包,并且贴入依赖:

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
                // api扫包
                .apis(RequestHandlerSelectors.basePackage("com.itmayiedu.api")).paths(PathSelectors.any()).build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder().title("Toov5|微服务电商系统").description("demo")
                .termsOfServiceUrl("http://www.itmayiedu.com")
                // .contact(contact)
                .version("1.0").build();
    }

}

 yml:

###服务启动端口号
server:
  port: 6060
###服务名称
spring:
    application:
        name: springboot-swagger

           

 

 访问:

 传入参数型的接口:

package com.toov5.api;

import org.aspectj.weaver.tools.Trace;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;

@Api("swaggerdemo控制器")  //接口描述
@RestController
public class SwaggerController {
    @ApiOperation(value = "swagger演示接口")   //具体描述
    @GetMapping("/swaggerIndex")
    public String swaggerIndex() {
        
        return "swaggerIndex";
    }
    
    @ApiOperation(value = "获取会员信息接口")   //具体描述
    @ApiImplicitParam(name="userName",value="用户信息参数",required=true,dataType="String")  //传入的参数  ,描述 , 必须传递true , 类型String
    @GetMapping("/getMembe")
    public String getMember(String userName) {
        System.out.println(userName);
        return "userName"+userName;
    }
    
    
}

 

 

点击try out

然后传入参数, excute执行一下

 

 

 

 

 

spring cloud+spring boot__基于swagger实现Springboot项目API文档管理 API文档、swagger3、springboot整合swagger实现接口管理 阅读详情

相关推荐

《微服务分布式构架开发实战》第16章 接口文档管理

第16章 接口文档管理 16.1   Dubbo中使用Swagger2 16.2   Spring Cloud中使用Swagger2 分布式架构中的各个服务最终产出RESTful风格的API接口,提供给前端(iOS、Android、Web)或其他第三方程序调用,一份丰富完整的接口描述文档能够大大降低沟通成本。本章将介绍如何使用Swagger轻松且方便地管理接口...

rmyd01的博客 198

【Springcloud】Swagger系统接口

官网:https://swagger.io/swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RestFul风格的web服务,总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。在完成了上述配置后,其实已经可以生产文档内容,但是这样的文档主要针对请求本身,描述的主要来源是函数的命名,通常需要自己增加一些说明来丰富文档内容。(1)@Api:用在类上,说明该类的作用。

weixin_44823875的博客 970

7、spring cloud api文档配置swagger3.00版本

采用swagger3.0.0版本插件作为我们的API 接口文档管理, 在用户微服中配置swagger

a13826548428的博客 328

swagger配置

目录 1:引入pom依赖 2:在启动类上添加 3:配置swagger2的配置文件 4:编写实体类 5:编写controller并做测试 6:swagger注解说明 Swagger 常用注解说明 常用注解 @Api @ApiOperation @ApiImplicitParams @ApiModel @ApiResponses @ApiParam 7:界面美化 ...

wangpeng1201的博客 2394

若依(ruoyivue)实现文档在线查看

1、Kkfileview部署 第一步:从kkfileview官方发行版本下载安装包,安装包下载路径: https://gitee.com/kekingcn/file-online-preview/releases, 第二步:解压kkFileView-x.x.x文件(Windows用.zip包,Linux/MacOS用.tar.gz包) 第三步:打开解压后文件夹的bin目录,运行startup脚本(Windows下以管理员身份运行startup.bat,Linux以root用户运行startup.sh) 第四

weixin_46953697的博客 9681

巨量千川M-API实战:5分钟搞定短视频计划数据自动获取(Python版)

本文详细介绍了如何利用巨量千川M-API和Python快速搭建自动化工具,实现短视频计划数据的自动获取。通过实战代码演示了从环境准备、Token管理到核心数据接口调用的完整流程,帮助电商运营和技术开发者告别手动导出,高效完成数据汇总与分析。

weixin_29325515的博客 1359

SpringCloud——注册中心、网关、api接口初步整合

springcloud注册中心 springcloud服务网关 springcloud api接口 1、首先去启动注册中心(eureka-server下的BootMain),        浏览器访问 localhost:12000 (看自己的application.properties配置文件),显示如下说明注册中心启动成功 2、服务网关和api接口先启动哪个无所谓 这里我写了两...

qq_34819372的博客 9495

为什么RingMo能成为遥感领域的首个生成式自监督基础模型?

RingMo作为遥感领域首个生成式自监督基础模型,通过创新的图像掩码建模技术解决了传统方法在遥感图像处理中的挑战。该模型利用两百万张多元数据集进行预训练,在小目标检测、场景分类等任务上表现卓越,显著提升了性能指标。RingMo的技术突破为遥感图像解译提供了高效解决方案,降低了标注成本并增强了模型泛化能力。

ll5678的博客 691

SpringCloud(七)Zuul + Swagger 搭建分布式API接口文档管理平台

目录 1.传统的API文档编写的缺点 2.Swagger的优点 3.Swagger入门 4.Zuul + Swagger 实现分布式API接口管理平台 4.1搭建order项目 4.2搭建member项目 4.3.搭建zuul项目 4.4.启动 1.传统的API文档编写的缺点 1.对API文档进行更新的时候,需要通知前端开发人员,导致文档更新交流不及时; 2.AP...

942

Transformer——从原理、模型架构到内部细节介绍

Transformer模型是一种基于注意力机制的深度学习模型,最早由Google在2017年的论文《AttentionIsAllYouNeed》中提出。自其问世以来就迅速席卷了自然语言处理他(NLP)领域,并在各类主流任务上取得了新的突破,包括机器翻译、语言建模、序列标注和文本分类等。在NLP领域取得巨大成功后,迅速扩展到了计算机视觉(CV)领域,并带来了革命性的变化。这种基于自注意力机制的深度学习模型,不仅在NLP任务中力压群雄,也成为CV领域的新宠。

小拉拉的博客 1万+

QtNodeEditor实战:构建高效可视化编程环境的完整指南

本文是QtNodeEditor实战的完整指南,详细介绍了如何利用这一基于Qt框架的可视化编程工具构建高效节点编辑器。内容涵盖从快速集成、自定义节点模型到深入理解MVC数据流架构,并提供了样式定制、场景序列化、动态端口等高级功能的实现方法,帮助开发者快速搭建灵活、可维护的可视化编程环境。

lemon的博客 702

SpringCloud Zuul+Swagger2接口文档管理

SpringCloud Zuul+Swagger2接口文档管理 整个微服务的系统里面,所有的接口都需要展现给前端开发人员,所以,可以在Zuul里面加上Swagger实现相应的效果,如图: 首先是项目依赖: &lt;dependency&gt; &lt;groupId&gt;io.springfox&lt;/groupId&gt; &lt;artifactId&gt;springfox-sw...

金字铎 1639

windows在使用ping 127.0.0.1时出现一般故障的解决方案

本文主要介绍了windows在使用ping 127.0.0.1时出现一般故障的解决方案,希望能对使用windows的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 7万+

spring cloud微服务使用swagger2接口文档

spring cloud微服务,微服务下使用swagger2

bai_shuang的博客 1528

ROS机器人未知环境自主探索功能包explore_lite总结

本系列文章主要针对ROS机器人常使用的未知环境自主探索功能包explore_lite展开全源码的详细解析,并进行概括总结。 本系列文章共包含六篇文章,前五篇文章主要介绍explore_lite功能包中 explore.cpp、costmap_tools.h、frontier_search.cpp、costmap_client.cpp等源码实现文件中全部函数的详细介绍,第六篇文章进行概括总结,包含自主探索功能包explore_lite的简介,实现未知环境自主探索功能的原理及流程总结,效果演示,使用功能包exp

慕羽★的博客 4461

【ROS2】RViz2加载URDF模型文件

1)运行RViz2rviz22)添加组件:RobotModel3)选择通过文件添加4)选择URDF文件,此时会报错,需要修改Fixed Frame为map即可

郭老二 1450

zuul网关整合swagger

zuul整合swagger网关 maven依赖 <dependency> <groupId>com.spring4all</groupId> <artifactId>swagger-spring-boot-starter</artifactId> <version>1.7.0.RELEASE</version> </depende

qq_28461661的博客 679

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

spring-gateway整合swagger2统一微服务接口文档

由于spring-cloud-gateway是使用webflux,与springmvc是冲突的,所以当我们使用传统的配置swagger2的方法去配置时,就会出现以下一些错误。微服务都是通过API网关去统一访问,而不是由外部直接调用服务,也可以将所有微服务的swagger2统一从网关访问。兼容webflux,重写获取api-docs信息的配置,具体请参考一位掘金大佬的配置。

weixin_43796428的博客 1016

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

gateway继承swagger2/3 都可以

swagger gateway 集成

qq_33472553的博客 399

day02 搭建环境和医院设置

一、预约挂号微服务模块搭建 项目模块构建 hospital-manage:医院接口模拟端(已开发,直接使用) yygh-parent:根目录,管理子模块: common:公共模块父节点 common-util:工具类模块,所有模块都可以依赖于它 rabbit-util:rabbitmq业务封装 service-util:service服务的工具包,包含service服务的公共配置类,所有 service模块依赖于它 server-gateway:服务网关 model:实...

weixin_43055264的博客 654

超强Swagger接口文档集成:PIG微服务的一站式API管理方案

还在为微服务API文档分散、维护困难而头疼?PIG框架的Swagger集成解决方案为你提供企业级API文档管理体验,让接口文档维护变得前所未有的简单! ## 核心优势一览 - ✅ **自动生成**:基于代码注解自动生成标准OpenAPI文档 - ✅ **OAuth2集成**:原生支持Spring Authorization Server认证 - ✅ **微服务适配**:完美适配Spring C

gitblog_01064的博客 957

spring cloud-Swagger2整合Eureka,实现Eureka页面自动跳转到Swagger2UI界面查看服务接口信息

一、Eureka Server回顾 在前面的博客中,细心的读者可能已经发现,当我们点击某个注册到Eureka Server上的某个服务的时候,链接的界面要么报404,要么就是空的,如下图所示: 那怎么能像dubbo里面一样,当点击注册的服务的时候,可以看到这个服务对外提供了哪些接口了。现在问题,我们已经知道了,怎么来解决了?解决思路就是整个Eureka和Swagger2,当点击链接的时候,直接...

Erica_1230的专栏 359

如何使用Knife4j为mall-swarm微服务生成漂亮的可视化API文档

mall-swarm是一套基于Spring Cloud Alibaba、Spring Boot 3.2构建的微服务商城系统,集成了注册中心、配置中心、监控中心等核心功能。本文将详细介绍如何利用Knife4j快速生成专业美观的可视化API文档,帮助开发团队提升接口管理效率。 ## 为什么选择Knife4j生成API文档? 在微服务架构中,API文档是前后端协作的重要桥梁。Knife4j作为Swa

gitblog_00772的博客 472

记录开发项目管理系统遇到问题

1.第一次设计数据库全部部分,包括权限表,记录表,日志表,追踪记录表,还有项目,模块,成员,bug管理,日报周报等等 2.第二个架构采取了: 3.springcloud服务:注册中心,统一分布式配置中心,网关,服务消费者,服务提供者,熔断器,分布式缓存redis,以及服务追踪和监控spring admin服务 4.spring boot小服务+docker部署+jpa+mybatis plu...

小武人生 714

spring cloud gateway集成swagger2

最近公司在做一个iot平台,使用的是springcloud + dubbo,因为偷懒不想想文档接口,就使用了swagger在线接口神器;总体下来效果还行,记录下来,帮助有缘人,阿弥陀佛!

小僧下山踏红尘 3069
上一篇: Spring Cloud之Zuul网关集群
下一篇: Spring Cloud之Swagger集群搭建
Art&Code
博客等级 码龄7年 77粉丝 554原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值