首页 > 其他 > 详细

restful风格接口写DELETE或PUT请求时遇到405错误

时间:2019-07-30 14:08:27      阅读:343      评论:0      收藏:0      [点我收藏+]

用restful风格接口写DELETE或PUT请求时遇到405错误

Jsp上有个PUT请求的表单:

<form action="springmvc/testRestFulPut/1" method="post">
<input type="hidden" value="put" name="_method">
<input type="submit" value="PUT Submit">
</form>

SpringMVC的接口函数:

// 更新
@RequestMapping(value="/testRestFulPut/{id}",method=RequestMethod.PUT)
public String testRestFulPUT(@PathVariable("id") Integer id) {
System.out.println("test PUT : " + id);
return SUCCESS;
}

web.xml配置

<!-- 为了让普通浏览器表单能发送put或delete请求 -->
<filter>
<filter-name>HiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HiddenHttpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

 

当在浏览器访问这个接口时会产生405错误,而控制台输出正常:

浏览器 
技术分享图片

控制台

 技术分享图片

 

解决办法: 
1.加入 @ResponseBody 注解。 
2.请求先转给一个Controller,再返回jsp页面。 
3.tomcat换到7.0以及以下版本。

4.加入isErrorPage=“true”

技术分享图片

 

restful风格接口写DELETE或PUT请求时遇到405错误

原文:https://www.cnblogs.com/Silencewj/p/11269458.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!