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);
        });
    }
相关推荐
沐知全栈开发2 小时前
NumPy 字节交换
开发语言
爱丽_2 小时前
MySQL `EXPLAIN`:看懂执行计划、判断索引是否生效与排错套路
android·数据库·mysql
派大星酷2 小时前
Cookie、Session、Token、JWT 原理 + 流程 + 区别 + 实战
java·网络
NPE~2 小时前
[App逆向]环境搭建下篇 — — 逆向源码+hook实战
android·javascript·python·教程·逆向·hook·逆向分析
身如柳絮随风扬2 小时前
MyBatis 插件原理详解:从拦截器到动态代理,手写一个分页插件
java·mybatis
夜珀2 小时前
OpenTiny NEXT 从入门到精通·第 2 篇
开发语言·前端框架
sg_knight2 小时前
如何实现“秒传”与“断点续传”?MinIO + Java 实战进阶篇
java·开发语言·文件管理·minio·ftp·oss·文件传输
William Dawson2 小时前
Java 后端高频 20 题超详细解析 ②
java·开发语言