SpringCloud gateway怎么修改返回数据
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,本篇内容介绍了"SpringCloud gateway怎么修改返回数据"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读
千家信息网最后更新 2025年02月02日SpringCloud gateway怎么修改返回数据
本篇内容介绍了"SpringCloud gateway怎么修改返回数据"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
SpringCloud gateway 修改返回数据
版本说明
开源软件 | 版本 |
---|---|
springboot | 2.1.6.RELEASE |
jdk | 11.0.3 |
gradle
主要引入了springboot 2.1,lombok
plugins { id 'org.springframework.boot' version '2.1.6.RELEASE' id 'java' id "io.freefair.lombok" version "3.6.6"}apply plugin: 'io.spring.dependency-management'group = 'cn.buddie.demo'version = '0.0.1-SNAPSHOT'sourceCompatibility = '11'repositories { mavenCentral()}ext { set('springCloudVersion', "Greenwich.SR2")}dependencies { implementation 'org.springframework.cloud:spring-cloud-starter-gateway' compile 'org.projectlombok:lombok:1.18.8' testImplementation 'org.springframework.boot:spring-boot-starter-test'}dependencyManagement { imports { mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}" }}
yaml
定义路由及过滤器 test-route路由,当Path为/users时,转到uri中配置的链接http://127.0.0.1:8123/users中。使用UnionResult来过滤
spring: cloud: gateway: enabled: true routes: - id: test-route uri: http://127.0.0.1:8123/users predicates: - Path=/users filters: - UnionResult
filter
yaml中配置的filter名字,加"GatewayFilterFactory",就是对应的过滤器Java类
package cn.buddie.demo.springcloudgateway.filter;import cn.buddie.demo.springcloudgateway.model.UnionResult;import org.springframework.cloud.gateway.filter.GatewayFilter;import org.springframework.cloud.gateway.filter.factory.rewrite.ModifyResponseBodyGatewayFilterFactory;import org.springframework.cloud.gateway.filter.factory.rewrite.RewriteFunction;import org.springframework.stereotype.Component;import reactor.core.publisher.Mono;/** * description * * @author buddie.wei * @date 2019/7/20 */@Componentpublic class UnionResultGatewayFilterFactory extends ModifyResponseBodyGatewayFilterFactory { @Override public GatewayFilter apply(Config config) { return new ModifyResponseGatewayFilter(this.getConfig()); } private Config getConfig() { Config cf = new Config(); // Config.setRewriteFunction(ClassinClass, Class outClass, RewriteFunction rewriteFunction) // inClass 原数据类型,可以指定为具体数据类型,我这里指定为Object,是为了处理多种数据类型。 // 当然支持多接口返回多数据类型的统一修改,yaml中的配置,path,uri需要做相关调整 // outClass 目标数据类型 // rewriteFunction 内容重写方法 cf.setRewriteFunction(Object.class, UnionResult.class, getRewriteFunction()); return cf; } private RewriteFunction
model
package cn.buddie.demo.springcloudgateway.model;import lombok.Builder;import lombok.Getter;import lombok.Setter;/** * description * * @author buddie.wei * @date 2019/7/20 */@Getter@Setter@Builderpublic class UnionResult { private String requestId; private Object result;}
"SpringCloud gateway怎么修改返回数据"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
数据
类型
内容
配置
更多
版本
知识
路由
过滤器
实用
学有所成
接下来
名字
困境
多种
实际
就是
情况
接口
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
三级网络技术考过指南下载
stm软件开发周记500字
谷歌服务器连接不上
答辩老师问怎么连接数据库的
苏州crm软件开发教程
数据库损坏的几种原因
数据库大作业的详细过程
我的世界服务器新手礼包32k手机版
晋城网络技术员
苏州高品质服务器厂家直销价格
c语言作软件开发
银行网络安全自查整改计划
新浪云mysql数据库
服务器开启多久可以启动
私服传奇服务器
阳江软件开发的费用
服务器后面插得都是什么线
日本服务器简称
sql数据库修改超时间
棋牌软件开发合作
软件开发合同如何确定管辖
我国网络安全体系建设
服务器如何开启ipv6
软件开发商的工作环境
淘宝做软件开发
数据库基础与应用形考四
哈利波特怎么推荐卡组给服务器
寺庙视频软件开发
网络安全训练营第39讲
明日之路服务器