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);
        });
    }
相关推荐
半瓶榴莲奶^_^1 天前
jvm java虚拟机
java·jvm
Gofarlic_oms11 天前
利用API实现ANSYS许可证管理自动化集成
运维·服务器·开发语言·matlab·自动化·负载均衡
AI+程序员在路上1 天前
VS Code 完全使用指南:下载、安装、核心功能与 内置AI 编程助手实战
开发语言·人工智能·windows·开源
invicinble1 天前
这里对java的知识体系做一个全域的介绍
java·开发语言·python
catchadmin1 天前
使用 PHP TrueAsync 改造 Laravel 协程异步化的可行路径
开发语言·php·laravel
wbs_scy1 天前
【Linux 线程进阶】进程 vs 线程资源划分 + 线程控制全详解
java·开发语言
ss2731 天前
食谱推荐系统功能测试如何写?
java·数据库·spring boot·功能测试
AI人工智能+电脑小能手1 天前
【大白话说Java面试题】【Java基础篇】第15题:JDK1.7中HashMap扩容为什么会发生死循环?如何解决
java·开发语言·数据结构·后端·面试·哈希算法
try2find1 天前
打印ascii码报错问题
java·linux·前端
014-code1 天前
CompletableFuture 实战模板(超时、组合、异常链处理)
java·数据库