WebFlux
kevin.dingdeyang
微信:yigechaojivip
qq:1104340725@qq.com
展开
-
WebFlux 跨越和filter 验证异常的解决办法,以及@Order的原理
在使用spring中有时候需要在filter中做一些全局的校验,比如验证token是否合法,不合法需要抛异常。但是如果姿势不对就会和跨越的CorsWebFilter执行顺序不一致导致跨域。如何解决:可以使用@Order注解把跨域的filter执行顺序提前就可以了。原理:WebHttpHandlerBuilder 中使用了DefaultListableBeanFactoryAnnotationAwareOrderComparator其实原理很..原创 2022-04-18 18:33:40 · 770 阅读 · 0 评论 -
Spring Cloud Gateway 全局异常处理
对于spring boot 项目 全局异常拦截可以使用@RestControllerAdvice 和@ExceptionHandler(Exception.class) 注解 进行全局异常处理。对于Gateway 内部的异常处理需要使用如下方法package config.exception;import org.springframework.beans.factory.ObjectProvider;import org.springframework.boot.autoconfigure..原创 2021-09-26 14:27:35 · 2963 阅读 · 0 评论 -
Spring cloud WebFlux 重定向和Spring boot 重定向写法区别
WebFlux :@Component@Slf4jpublic class UrlController { @Bean RouterFunction<ServerResponse> routerFunction() { return route(GET("/s/{number}"), req -> { String shortNumber = req.pathVariable("number");原创 2021-09-23 15:47:14 · 474 阅读 · 0 评论 -
Spring cloud WebFlux 打印请求体 requestbody
package web.filter.accesspermission;import lombok.extern.slf4j.Slf4j;import org.apache.commons.io.IOUtils;import org.springframework.core.io.buffer.DataBuffer;import org.springframework.http.server.reactive.ServerHttpRequestDecorator;import org.spri.原创 2021-09-21 10:36:39 · 1579 阅读 · 0 评论 -
spring cloud WebFlux gateway 解决跨域问题
跨域问题对于后端来说已经不是什么新鲜的事,传统gataway跨域网上有很多解决办法和实现方案比如1.在yml中添加spring: cloud: gateway: globalcors: corsConfigurations: '[/**]': allow-credentials: true allowedOrigins: "*" allowedMethods: "*"...原创 2021-09-21 10:18:24 · 1751 阅读 · 0 评论