webflux接收application/x-www-form-urlencoded参数

记录开发中遇到的问题

请求方式:

需要用如下方式接收:

方式1

java 复制代码
    @PostMapping(value = "/user/logout", consumes = "application/x-www-form-urlencoded")
    public ResponseResult logoutForAuthSystem(ServerWebExchange exchange) {
        exchange.getFormData().subscribe(formData -> {
            String sub = formData.getFirst("sub");
            String name = formData.getFirst("name");

            log.info("[第三方认证系统] 登出,用户ID {}, 账号 {}", sub, name);
            tokenService.deleteUserCache(name);
        });
        return ResponseResult.ok("登出成功");
    }

方式2

java 复制代码
@PostMapping("/user/logout")
    public void refreshSysConfig(ServerHttpRequest request) {
        // 直接解析 form 表单
        request.getBody().subscribe(buffer -> {
            String bodyStr = buffer.toString(StandardCharsets.UTF_8);
            String name = bodyStr.replace("name=", "").trim();
            System.out.println("成功拿到:" + name);
        });
    }
相关推荐
CodeSheep程序羊几秒前
宇树科技,即将上市!
java·c语言·c++·人工智能·python·科技·硬件工程
AI玫瑰助手1 分钟前
Python函数:内置函数(len/max/min/sorted等)详解
android·开发语言·python
白露与泡影1 分钟前
Java 8老系统旁路接入AI Gateway:不升级JDK也能用AI
java·人工智能·gateway
Misnearch1 分钟前
Java中创建Map的做法
java·hashmap
scan7242 分钟前
从runtime获取信息
java·服务器·前端
Kapaseker2 分钟前
Kotlin 集合:只读不等于不可变
android·kotlin
心之伊始3 分钟前
Spring Cloud Gateway RequestRateLimiter 实战:Redis 令牌桶限流从配置到本地压测验证
java·架构·源码分析·csdn
风华圆舞4 分钟前
一个 Flutter 项目同时保留 Android、iOS、HarmonyOS 支持的实践
android·flutter·ios
咸鱼翻身小阿橙9 分钟前
C# WinForms 控件学习项目
开发语言·学习·c#
顾林海9 分钟前
Android来时路:Android 是什么
android