WordPress OAuth2令牌验证API在Spring Boot集成中返回400错误排查
请求参数传递方式错误
Postman是将client_id和token放在URL查询参数中,但Spring Boot调用时可能未正确拼接参数,或是错误地将参数放到请求体(比如用POST请求的form-data/json格式传递),而WordPress的token-info接口仅接受URL查询参数。检查你的Spring Boot代码,确保参数直接拼在URL中,或是用UriComponentsBuilder这类工具正确构建查询参数。令牌存在编码/转义问题
如果令牌包含+、&、=这类特殊字符,Postman会自动做URL编码,但Spring Boot代码里直接拼接字符串的话,可能没处理编码,导致服务器收到的令牌和实际有效令牌不一致(比如+被当成空格解析)。建议用UriComponentsBuilder处理参数,它会自动对特殊字符编码。请求方法不匹配
确认Postman用的是GET请求,Spring Boot里有没有误用POST/PUT等其他请求方法。WordPress的这个token-info接口一般只支持GET请求,用其他方法会直接导致请求无效。请求头缺失必要字段
Postman可能自动添加了User-Agent、Accept这类必要请求头,而Spring Boot调用时没带这些头,导致服务器拒绝请求。可以把Postman里的请求头复制到Spring Boot的请求配置中。令牌状态变化
虽然Postman测试时令牌有效,但到Spring Boot调用时,令牌可能已经过期或被撤销。重新获取一个有效令牌,再用Spring Boot调用测试看看。代码中令牌拼写错误
仔细核对Spring Boot代码里的令牌字符串,有没有少字符、多空格或者复制错误的情况。建议直接从Postman里复制有效令牌到代码中测试,避免手动输入出错。
内容的提问来源于stack exchange,提问作者Ozi

