接口报错: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.
之前没有想过这个问题,之后有机会跟进.
文章描述了一次接口报错的经历,问题在于前端JS的接口地址错误,虽然请求方法是POST,但由于地址错误,请求实际上匹配到了后端的一个GET方法。通过分析,发现是ID值导致了错误的路径匹配,使得请求误以为是GET请求,而非POST。这表明在接口调用时,地址匹配可能优先于方法匹配。
6682

被折叠的 条评论
为什么被折叠?



