Request method ‘POST‘ not supported

文章描述了一次接口报错的经历,问题在于前端JS的接口地址错误,虽然请求方法是POST,但由于地址错误,请求实际上匹配到了后端的一个GET方法。通过分析,发现是ID值导致了错误的路径匹配,使得请求误以为是GET请求,而非POST。这表明在接口调用时,地址匹配可能优先于方法匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接口报错:Request method ‘POST’ not supported
在这里插入图片描述

接口报错:不支持post方法.但前后端对接,接口请求都已确定是post

1.查看后端方法,确认为post方法
在这里插入图片描述
2.查看前端js,确认method 为post

在这里插入图片描述

后来仔细检查才发现是js接口地址不对.
正确为/system/insuranceStopAudit/stopAudit
错误为:/system/insuranceStopApply/stopAudit
但返回报错应该是404,实际却返回不支持post方法,推测错误方法指向了后端类中的一个非post方法

在这里插入图片描述
3.在js的错误地址:/system/insuranceStopApply/stopAudit 指向的类中查看代码

找到了一个get方法,如果id传1,那么接口就是***/system/insuranceStopApply/1***,
后端误以为调用为此接口,{id} 传的值是’stopAudit’.
而没有调用***/system/insuranceStopApply/stopAudit***
在这里插入图片描述

由此推测接口调用匹配api地址时,应该是先匹配地址后匹配method.
之前没有想过这个问题,之后有机会跟进.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值