服务器不能DELETE和PUT
创始人
2025-01-17 22:04:06
0

问题描述:前端VUE、后端JAVA,代码放在本地可以完美运行,放在服务器外网不能运行delete和put,get和post不能运行
经过摸索总结,在不改变原有RESTful的情况下,亲身实验,得到两种解决办法:
一:改前端配置和nginx(后台是经过nginx代理)

前端http配置:

1.put和delete请求改为post请求
2.put请求添加请求头:X-Http-Method-Override: PUT;
delete请求添加请求头:X-Http-Method-Override: DELETE;

nginx配置:

在server里面添加如下代码

server { 	... 	set $method $request_method; 	if ($http_X_HTTP_Method_Override ~* 'PUT|DELETE') { 	    set $method $http_X_HTTP_Method_Override; 	} 	proxy_method $method; 	... } 

重启nginx,完毕!

二:改前端配置和后端配置(后台不经过nginx,直接访问)

前端http配置:

1.put和delete请求改为post请求
2.put请求添加请求头:X-Http-Method-Override: PUT;
delete请求添加请求头:X-Http-Method-Override: DELETE;

后端http配置:

新建一个过滤器类 ChangeHttpMethodFilter

import org.springframework.core.annotation.Order; import org.springframework.http.HttpMethod; import org.springframework.stereotype.Component;  import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; import java.io.IOException;  /**  * 改变请求头的过滤器  *  * @author xu  * 2024/3/28 12:08  */ @Order(1)// 执行顺序最小 @Component public class ChangeHttpMethodFilter implements Filter {     @Override     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {         HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;         String method = httpServletRequest.getHeader("X-Http-Method-Override");         // 如果修改和删除需要改变         if(HttpMethod.DELETE.name().equals(method) || HttpMethod.PUT.name().equals(method)){             HttpServletRequestWrapper requestWrapper = new HttpServletRequestWrapper(httpServletRequest) {                 @Override                 public String getMethod() {                     return method.toUpperCase();                 }             };             filterChain.doFilter(requestWrapper, servletResponse);         }else {             filterChain.doFilter(servletRequest, servletResponse);         }     } } 

重启,完毕!

相关内容

热门资讯

透视美元局!htx矩阵wepo... 透视美元局!htx矩阵wepoker辅助(透视)辅助辅助器(确实有挂)-哔哩哔哩1、该软件可以轻松地...
在玩家背景下!山西大唐辅助!确... 在玩家背景下!山西大唐辅助!确实真的是有辅助app(有挂秘笈)-哔哩哔哩1、这是跨平台的山西大唐辅助...
透视科普!wpk透视是真的吗,... 透视科普!wpk透视是真的吗,wpk俱乐部辅助器-果然是有辅助工具(哔哩哔哩)亲,关键说明,透视脚本...
有玩家发现!wpk可以作弊吗(... 有玩家发现!wpk可以作弊吗(透视)辅助下载(总是真的是有挂)-哔哩哔哩运辅助工具,进入游戏界面。进...
科技揭秘!pokermaste... 科技揭秘!pokermaster脚本,wepoker祈福有用吗,开挂教程(有挂解惑)-哔哩哔哩1、打...
今年以来!wepokerplu... 今年以来!wepokerplus到底是挂了吗(透视)辅助修改器(有挂方针)-哔哩哔哩wepokerp...
一直以来!天天川南辅助!好像存... 一直以来!天天川南辅助!好像存在有辅助脚本(有挂教学)-哔哩哔哩1、在天天川南辅助插件功能辅助器技巧...
透视有挂!有哪些免费的wpk作... 透视有挂!有哪些免费的wpk作弊码,wpk透视辅助-原来有辅助技巧(哔哩哔哩)1、透视有挂!有哪些免...
透视系统!wepoker可以免... 透视系统!wepoker可以免费玩吗(透视)wepoker钻石怎么看底牌-一贯存在有辅助工具(哔哩哔...
针对!德州局透视(透视)辅助下... 针对!德州局透视(透视)辅助下载(的确有挂)-哔哩哔哩德州局透视透视方法中分为三种模型:德州局透视靠...