在测试一个上传文件的POST接口的时候,发现2个写法一样的接口,一个可以上传,一个报405错误。
截图如下:
后台报错如下:
o.s.web.servlet.PageNotFound : Request method 'POST' not supported
.w.s.m.s.DefaultHandlerExceptionResolver : Resolved exception caused by Handler execution: org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported
从报错信息来看是没有找到页面(我以为是返回的jsp页面找不到呢),以及不允许POST方法,但是问题是我这个方法有啊,最后经过仔细的思考我察觉到,我的应用本身就不返回页面,返回的是json对象,根本不存在页面一说,再说了连方法都没有进来谈何返回。
最后经过仔细检查发现,我的url路径是错的,把 upload/template 写成了 upload/tempalte了,所以后台如何访问都是有问题的。
总结一下:如果是GET接口,如果接口不存在会直接返回404
,但是POST接口springboot返回的不是404而是405
,所以要切记405并不是什么奇怪的问题只是找不到而已。