当前位置: 首页 > news >正文

Spring Cloud Gateway Server MVC

之前你如果要用spring cloud gateway ,就必须是webflux 的,也就是必须是异步响应式编程。不能和spring mvc 一起使用。现在spring cloud 新出了一个可以不用webflux的gateway。

具体使用mvc的gateway步骤如下

普通的Eureka Client的项目

如果你只是想测试一下gateway mvc,可以建一个普通的spring boot项目,然后写一个/test rest api就可以了。

application.yml

spring:application:name: eureka-clientcloud:compatibility-verifier:enabled: false
eureka:client:service-url:defaultZone: http://localhost:8761/eureka/instance:hostname: localhost
server:servlet:context-path: /eureka-clientport: 8080

TestController.java

@RestController
public class TestController {@RequestMapping(value = "/test", method = RequestMethod.GET)public String test() {return "test";}
}

EurekaClientApplication.java

@SpringBootApplication
@EnableDiscoveryClient
public class EurekaClientApplication {public static void main(String[] args) {SpringApplication.run(EurekaClientApplication.class, args);}
}

访问http://localhost:8080/eureka-client/test

Gateway MVC 的项目

在pom.xml加spring-cloud-starter-gateway-mvc 

    <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.2.4</version><relativePath/> <!-- lookup parent from repository --></parent><properties><java.version>17</java.version><spring-cloud.version>2023.0.0</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway-mvc</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>

application.yml

spring:application:name: gateway-mvc
server:port: 8088

RouteConfiguration.java

package com.example.gateway;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.function.RouterFunction;
import org.springframework.web.servlet.function.ServerResponse;import static org.springframework.cloud.gateway.server.mvc.handler.GatewayRouterFunctions.route;
import static org.springframework.cloud.gateway.server.mvc.handler.HandlerFunctions.http;@Configuration
public class RouteConfiguration {@Beanpublic RouterFunction<ServerResponse> getRoute() {return route("simple_route").GET("/eureka-client/**", http("http://localhost:8080")).build();}
}

或者用配置文件的方式.application.yml

spring:cloud:gateway:mvc:routes:- id: simple_routeuri: http://localhost:8080predicates:- Path=/eureka-client/**

GatewayApplication.java

@SpringBootApplication
public class GatewayApplication {public static void main(String[] args) {SpringApplication.run(GatewayApplication.class, args);}}

访问http://localhost:8080/eureka-client/test

如果你不想hardcode 你的hostname和端口,也可以用Eureka 的方式来获取hostname和端口号

    @Beanpublic RouterFunction<ServerResponse> gatewayRouterFunctionsAddReqHeader() {return route("api_route").GET("/eureka-client/**", http()).filter(lb("EUREKA-CLIENT")).build();}

Spring Cloud Gateway Server MVC :: Spring Cloud Gateway

相关文章:

Spring Cloud Gateway Server MVC

之前你如果要用spring cloud gateway &#xff0c;就必须是webflux 的&#xff0c;也就是必须是异步响应式编程。不能和spring mvc 一起使用。现在spring cloud 新出了一个可以不用webflux的gateway。 具体使用mvc的gateway步骤如下 普通的Eureka Client的项目 如果你只是想测…...

建立动态MGRE隧道的配置方法

目录 一、实验拓扑 1.1通用配置 1.1.1地址配置 1.1.2静态缺省指向R5&#xff0c;实现公网互通 1.1.3MGRE协议配置 1.1.4配置静态 二、Shortcut方式 三、Normal方式&#xff08;非shortcut&#xff09; 四、总结 一、实验拓扑 下面两种配置方法皆使用静态方式 1.1通用配…...

【MySQL】9. 内置函数

函数 1. 日期函数 获得年月日&#xff1a; mysql> select current_date(); ---------------- | current_date() | ---------------- | 2024-03-23 | ---------------- 1 row in set (0.00 sec)获得时分秒&#xff1a; mysql> select current_time(); ------------…...

芯片工程系列(5)2.5D 3D封装

0 英语缩写 硅通孔&#xff08;Through Silicon Via&#xff0c;TSV&#xff09;硅中介层&#xff08;Silicon Interposer&#xff09;物理气象沉淀法&#xff08;Physical Vapor Deposition&#xff0c;PVD&#xff09;DRIE、CVD、PVD、CMP等设备CoWoS&#xff08;Chip on Wa…...

KubeSphere简单介绍及安装使用

KubeSphere 概述 官网地址&#xff1a;https://kubesphere.io/zh/ 什么是 kubesphere KubeSphere 是一个开源的多云容器管理平台&#xff0c;旨在简化企业级 k8s 集群的部署、管理和运维。它提供了一个可视化的管理界面&#xff0c;帮助用户更轻松地管理和监控 k8s 集群&…...

Java零基础-集合:Java 8新增的集合操作

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一个人虽可以走的更快&#xff0c;但一群人可以走的更远。 我是一名后…...

C++经典面试题目(七)

1、什么是引用&#xff1f;请解释引用的概念和用法。 当谈论引用时&#xff0c;指的是在 C 中的一种类型。引用提供了对变量的别名&#xff0c;它允许通过不同的名称访问同一个变量。引用在 C 中常用于函数参数传递、返回值传递和操作符重载等场景。 引用的概念和用法&#x…...

让手机平板成为AI开发利器:AidLux

想ssh登录自己的手机吗&#xff1f; 想在手机上自由的安装lynx、python、vscode、jupyter甚至飞桨PaddlePaddle、Tensorflow、Pytorch和昇思Mindspore吗&#xff1f; 那么看这里....装上AidLux&#xff0c;以上全都有&#xff01; AidLux是一个综合的AI开发平台&#xff0c;…...

Python物理学有限差分微分求解器和动画波形传播

&#x1f3af;要点 Python数值和符号计算&#xff1a; 振动常微分方程&#xff1a;&#x1f3af;中心差分求解器&#xff0c;绘制移动窗口研究长时间序列。&#x1f3af;符号计算离散方程量化误差。&#x1f3af;Python数值对比正向欧拉方法&#xff0c;反向欧拉方法&#xf…...

游戏本续航@控制中心的省电模式效果如何

文章目录 节能模式长续航模式&#x1f47a;相关工具 节能模式长续航模式&#x1f47a; 蓝天模具Control Center中的模式 根据我的试验,以及软件的提示,可以发现 Power Saving是最省电的,儿Quiet模式并不省电,它会启用独立显卡,只不过风扇的转速不像娱乐模式和性能模式那么积极而…...

centOS 安装MySQL8.0

1.配置yum仓库 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 2.安装MySQL8.x版本 yum库 rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm 或者 wget https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch…...

力扣 1.两数之和

给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回…...

Occupancy field----其他应用

文章目录 3D表示技术的概述&#xff1a;Signed Distance Function (SDF)Occupancy Field (占用场)神经辐射场&#xff08;NeRF&#xff09; Occupancy Networks 是一种基于Occupancy表示的可微分模型&#xff0c;它在与其他3D表示技术&#xff08;例如点云、体素和三角面片&…...

Spring_MVC

web.xml配置文件 <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns"http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://xmlns.jcp.org/xml…...

【动手学深度学习】深入浅出深度学习之线性神经网络

目录 &#x1f31e;一、实验目的 &#x1f31e;二、实验准备 &#x1f31e;三、实验内容 &#x1f33c;1. 线性回归 &#x1f33b;1.1 矢量化加速 &#x1f33b;1.2 正态分布与平方损失 &#x1f33c;2. 线性回归的从零开始实现 &#x1f33b;2.1. 生成数据集 &#x…...

2024/3/26 C++作业

定义一个矩形类&#xff08;Rectangle&#xff09;&#xff0c;包含私有成员&#xff1a;长(length)、宽&#xff08;width&#xff09;, 定义成员函数&#xff1a; 设置长度&#xff1a;void set_l(int l) 设置宽度&#xff1a;void set_w(int w) 获取长度&#xff1a;int…...

LinkedList讲解指南

咦咦咦&#xff0c;各位小可爱&#xff0c;我是你们的好伙伴——bug菌&#xff0c;今天又来给大家普及Java SE相关知识点了&#xff0c;别躲起来啊&#xff0c;听我讲干货还不快点赞&#xff0c;赞多了我就有动力讲得更嗨啦&#xff01;所以呀&#xff0c;养成先点赞后阅读的好…...

IP如何异地共享文件?

【天联】 组网由于操作简单、跨平台应用、无网络要求、独创的安全加速方案等原因&#xff0c;被几十万用户广泛应用&#xff0c;解决了各行业客户的远程连接需求。采用穿透技术&#xff0c;简单易用&#xff0c;不需要在硬件设备中端口映射即可实现远程访问。 异地共享文件 在…...

HCIA-Datacom H12-811 题库补充(3/28)

完整题库及答案解析&#xff0c;请直接扫描上方二维码&#xff0c;持续更新中 OSPFv3使用哪个区域号标识骨干区域&#xff1f; A&#xff1a;0 B&#xff1a;3 C&#xff1a;1 D&#xff1a;2 答案&#xff1a;A 解析&#xff1a;AREA 号0就是骨干区域。 STP下游设备通知上游…...

轻量级富文本编辑 Trumbowyg —— 基于 jQuery 插件配置

使用方法&#x1f447; 首先,添加jQuery到页面<body>位置: <script src"http://libs.baidu.com/jquery/1.8.3/jquery.min.js"></script> <script>window.jQuery || document.write(<script src"js/vendor/jquery-1.10.2.min.js&qu…...

重庆灌浆料销售厂家怎么联系

在重庆的建筑工程领域&#xff0c;灌浆料的应用十分广泛。然而&#xff0c;众多重庆灌浆料厂家的市场状况究竟如何&#xff1f;又存在哪些痛点呢&#xff1f;市场现状&#xff1a;鱼龙混杂目前&#xff0c;重庆灌浆料市场厂家众多&#xff0c;但质量参差不齐。行业权威报告显示…...

解锁Ghidra:面向逆向工程师的二进制分析工具指南

解锁Ghidra&#xff1a;面向逆向工程师的二进制分析工具指南 【免费下载链接】ghidra_installer Helper scripts to set up OpenJDK 11 and scale Ghidra for 4K on Ubuntu 18.04 / 18.10 项目地址: https://gitcode.com/gh_mirrors/gh/ghidra_installer 剖析Ghidra核心…...

STM32智慧停车场系统设计与SQLite应用

基于STM32的智慧停车场管理系统设计与实现&#xff08;SQLite版&#xff09;1. 项目概述1.1 系统架构本智慧停车场管理系统采用分布式架构设计&#xff0c;由以下核心组件构成&#xff1a;下位机控制单元&#xff1a;STM32F103ZET6微控制器作为主控芯片感知层&#xff1a;OV772…...

计算机毕业设计springboot基于的游戏后台管理系统 基于SpringBoot的网游运营管理平台的设计与实现 基于SpringBoot架构的电子竞技服务支撑系统的设计与实现

计算机毕业设计springboot基于的游戏后台管理系统&#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。随着互联网技术的飞速发展和智能终端设备的全面普及&#xff0c;游戏产业已迅速…...

嵌入式开发中的静态代码分析工具与应用

嵌入式代码静态分析工具深度解析1. 静态代码分析技术概述1.1 传统编译器的局限性标准C语言编译器通常只能检测代码中的语法错误和部分潜在缺陷&#xff0c;对于程序架构设计和逻辑层面的问题往往无能为力。这种局限性在嵌入式开发中尤为明显&#xff0c;因为嵌入式系统对代码质…...

PlayCover终极指南:三步在Mac上畅玩iOS游戏与应用

PlayCover终极指南&#xff1a;三步在Mac上畅玩iOS游戏与应用 【免费下载链接】PlayCover Community fork of PlayCover 项目地址: https://gitcode.com/gh_mirrors/pl/PlayCover 还在为心爱的iOS游戏无法在Mac上体验而烦恼吗&#xff1f;PlayCover为你打开了一扇全新的…...

TVM构建系统详解:CMake与Makefile配置最佳实践

TVM构建系统详解&#xff1a;CMake与Makefile配置最佳实践 引言&#xff1a;TVM构建系统的核心挑战 深度学习编译器TVM&#xff08;Tensor Virtual Machine&#xff09;作为一个跨平台、多后端的开源项目&#xff0c;其构建系统面临着独特的复杂性。开发者需要在不同架构&#…...

Rainmeter社区贡献者奖励计划:实物与虚拟奖励

Rainmeter社区贡献者奖励计划&#xff1a;实物与虚拟奖励 【免费下载链接】rainmeter Desktop customization tool for Windows 项目地址: https://gitcode.com/gh_mirrors/ra/rainmeter Rainmeter作为一款强大的Windows桌面自定义工具&#xff0c;其蓬勃发展离不开全球…...

抖音音乐下载终极指南:3步解决批量音频提取难题

抖音音乐下载终极指南&#xff1a;3步解决批量音频提取难题 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 你是否曾在抖音上听到令人心动的背景音乐&#xff0c;却苦于无法单独保存&#xff1f;或是需要收集…...

首款支持AI渗透的WebShell管理工具,聊个天就能实现免杀|实现高隐蔽内网渗透

0x01 工具介绍 金刚狼首款支持 AI 渗透的 WebShell MCP&#xff0c;也是一款支持多层内网级联的 ASPX、ASHX 高级 WebShell 管理工具。工具采用 AES 加密通信&#xff0c;无需代理即可实现内网穿透&#xff0c;支持内存加载各类渗透工具&#xff0c;做到无文件落地隐蔽渗透目标…...