背景

我们项目启动后,本地发送请求,发现并不是get

原因分析

  1. HTTP到HTTPS的重定向问题

    • 服务器(如Nginx)配置了HTTP到HTTPS的重定向(301或302),而浏览器或Postman在跟随重定向时,会将POST请求转换为GET请求。
    • 例如:http://example.com/api 重定向到 https://example.com/api,导致POST变GET。
  2. Postman自动跟随重定向

    • Postman默认会跟随重定向(301/302/307/308),但301/302重定向会强制将POST转换为GET。
  3. 服务器端配置问题

    • Nginx/Apache等服务器的重定向规则未使用307/308(保留请求方法的重定向)。

我们正好遇到的是第一种情况:NGINX重定向了,转换成了https

解决

postman 直接使用HTTPS的URL
  • 问题场景:postman 请求URL以http://开头,触发服务器重定向到HTTPS。
  • 解决方法:在Postman中直接输入完整的HTTPS地址(如 https://123.com/api),避免触发重定向。
    • 示例:将 http://123.com/api 改为 https://123.com/api
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐