RestAssured调用Swagger BookStore GET接口返回HTML而非JSON问题求助
问题排查与解决步骤
- 首先校验Authorization头的正确性
你curl中使用的凭证解码后为BookTester12:Tester#12,但代码中使用的凭证解码后为BookTester:Tester#12,凭证少了后缀12,这是最常见的错误原因,先替换为curl中有效的Basic头值测试。 - 检查请求URL是否存在隐藏字符
代码中的URL路径大概率包含不可见的零宽空格,建议手动逐字符重写请求URL,避免复制粘贴时带入隐藏字符导致路由匹配失败,服务端匹配不到路由就会返回默认HTML错误页。 - 确认请求的用户ID有效性
curl中使用的用户ID为f00600d9-dc34-46e7-84f1-9404410b7f74,代码中使用的用户ID为5641c9d9-1e3f-45be-a752-e1cc9d31e151,先确认该用户ID是平台真实存在的有效ID,无效ID触发的错误逻辑也可能返回HTML页面。 - 开启RestAssured请求日志确认实际请求内容
在请求构造时添加日志打印逻辑,直接对比实际发出的请求和curl请求的差异,参考修复后的代码示例:RestAssured.given() .log().all() // 打印完整请求信息 .accept(ContentType.JSON) // 内置方法设置Accept头,避免手动输入错误 .header("Authorization", "Basic Qm9va1Rlc3RlcjEyOlRlc3RlciMxMg==") .when() .get("https://bookstore.toolsqa.com/Account/v1/User/f00600d9-dc34-46e7-84f1-9404410b7f74") .then() .log().all(); // 打印完整响应信息
内容的提问来源于stack exchange,提问作者Ashish Sharma
相关产品推荐
相关产品推荐

