完美解决SpringCloud-gateway全局GlobalFilter获取post的请求参数截取导致获取参数不全

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/pan4609/article/details/102777939

我们在使用SpringCloud-gateway作为网关转发的时候,当post请求参数过程,刚好需要针对post请求体做相应的操作时候的,会发现每次获取的请求参数获取不全的问题,以下解决方法,来自于百度总结,实战可用;



@Component
public class DefaulFilter implements GlobalFilter, Ordered {

    public final static String REDIS_KEY_ACCESS_TOKEN_PLATFORM = "PLATFORM_ACCESS_TOKEN#";

    @Value(value = "${platform.publicKey}")
    private String publicKey;

    @Value(value = "${platform.privateKey}")
    private String privateKey;

    @Autowired
    @Qualifier(value = "excludeRequestMap")
    private Map<String, String> excludeRequestMap;

    private final List<HttpMessageReader<?>> messageReaders = HandlerStrategies.withDefaults().messageReaders();

    @Override
    public int getOrder() {
        return -2;
    }

    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        ServerHttpRequest serverHttpRequest= exchange.getRequest();
        // 符合条件请求直接放行:1.swagger

猜你喜欢

转载自blog.csdn.net/pan4609/article/details/102777939