我正在使用java来使用rest服务构建web api . 我添加了过滤器到我的web.xml但发布请求返回禁止403错误,但当我使用get请求它工作正常 .
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<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>POST,GET,HEAD,OPTIONS,PUT</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.headers</param-name>
<param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value>
</init-param>
<init-param>
<param-name>cors.exposed.headers</param-name>
<param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value>
</init-param>
<init-param>
<param-name>cors.support.credentials</param-name>
<param-value>false</param-value>
</init-param>
</filter>
这是邮递员的观点
2 回答
使用POST时,客户端的意图是创建资源 .
例如,
POST /api/apples/ BODY {color: "green"}
发出此信息的客户有意在服务器端创建一个create apple对象 .
另一方面,GET是从服务器检索对象/对象 .
例如,
GET /api/apples/
它返回所有苹果 .
如果客户端发布到URL并获取403,则表示您的应用程序无权在服务器中创建对象 .
在你的项目中添加以下依赖项是因为httpclient的版本不匹配 . 尝试使用4.5.3版
maven repo link