如何使Apache Tomcat接受DELETE方法
2022-09-04 20:08:40
我正在研究一个RESTful Web服务项目,我正在使用Apache Tomcat和JAX-RS。
我想接受来自客户端的DELETE请求,但每当我从Advanced REST客户端Chrome插件发送DELETE请求时,它都会给出响应代码403 Forbidden。
那么我怎样才能让Apche Tomcat接受DELETE请求呢?
我正在研究一个RESTful Web服务项目,我正在使用Apache Tomcat和JAX-RS。
我想接受来自客户端的DELETE请求,但每当我从Advanced REST客户端Chrome插件发送DELETE请求时,它都会给出响应代码403 Forbidden。
那么我怎样才能让Apche Tomcat接受DELETE请求呢?
Tomcat因为我的CORS过滤器而阻止了DELETE方法。
我需要在我的 web 文件中注册新的筛选器.xml。下面是一个非常宽松的示例:
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.headers</param-name>
<param-value>Accept,Accept-Encoding,Accept-Language,Access-Control-Request-Method,Access-Control-Request-Headers,Authorization,Connection,Content-Type,Host,Origin,Referer,Token-Id,User-Agent, X-Requested-With</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.methods</param-name>
<param-value>GET, POST, PUT, DELETE, OPTIONS, HEAD</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
还有一个建议,仔细检查调用的 URL,并确保它指向预期的 servlet。
当我在代码中错误地键入服务URL时,我得到了同样的错误。我有当我需要时,修复错别字解决了错误。你会期望一个404,但是在Tomcat上使用DELETE,你会得到一个403。api/roles/Service/roles
api/rolesService/roles