You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么Next.js的getInitialProps中使用axios.post而非axios.get请求

原因说明

1. 修改为GET后报错的根源

后端的${API}/category/${query.slug}接口仅支持POST请求,前端发送GET请求会触发405方法不允许错误,这和getInitialProps本身的作用无关,接口允许的请求方法由后端开发定义,前端不能随意更换。
你现有代码中的POST请求没有传递第二个参数(请求体),是因为鉴权所需的token已经通过withAdmin高阶组件注入到了axios的全局请求头中,后端只要校验请求头的合法性就会返回分类数据。

2. 不使用GET的常见原因

实际开发中这种违背REST语义的设计非常普遍,尤其是后台内部接口,通常出于两个考量:

  • 项目统一规范:很多后台系统会统一用POST处理所有接口请求,不管是查询还是写入操作,一方面可以统一鉴权逻辑,另一方面避免敏感的查询参数出现在URL、访问日志中,降低泄露风险
  • 参数传递需求:部分查询接口需要传递较多、或者敏感的参数,GET请求的查询字符串长度有限制,且传递敏感信息不安全,用POST在请求体传参更稳定合规

这类管理员权限页面的内部功能接口,不严格遵循REST语义是行业常态,不需要纠结语义匹配的问题,按照后端定义的规则调用即可。

内容的提问来源于stack exchange,提问作者user483801

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 12:45:05