使用javax.servlet.http.HttpServlet处理PATCH请求?

时间:2017-12-05 16:35:40

标签: java spring servlets

我们正在使用javax.servlet.http.HttpServlet类的实现作为我们的Spring Web应用程序中的错误页面(在web.xml中定义),以过滤错误信息,发送给我们的API用户以确保安全性的原因。

截至最近,我们还必须处理对API的PATCH请求。由于HttpServlet是在考虑HTTP版本1.1的情况下实现的,因此它不支持PATCH请求(" PATCH"字符串作为请求方法名称)。如果我们要添加功能,我们必须覆盖整个HttpServlet实现,这对我们来说也有负面的安全含义。

是否有开箱即用的方式来实现我们正在尝试或者我们必须切换到另一个实现(也可行)?

1 个答案:

答案 0 :(得分:3)

尝试覆盖HttpServlet.service方法。 对于“DELETE”,“GET”,“HEAD”,“OPTIONS”,“POST”,“PUT”和“TRACE”将请求传递给super服务实现。

对于“PATCH”,调用您在覆盖类中定义的doPatch方法。

在实际班级中实施doPatch

有关邮件正文的更多信息:
签出HTTP引用以查看哪些方法支持方法体,哪些方法不支持。 HTTP Wikipedia Page

上有一个很好的表格