java rest service通过forbidden 403错误

时间:2018-04-06 12:28:04

标签: java eclipse rest web-services tomcat7

我使用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>

这是邮递员的观点 enter image description here

2 个答案:

答案 0 :(得分:0)

使用POST时,客户的意图是创建资源。

例如, POST /api/apples/ BODY {color: "green"}

客户发出此信息的目的是在服务器端创建创建苹果对象。

另一方面,GET是从服务器检索一个对象/对象。

例如, GET /api/apples/

它会返回所有苹果。

如果客户端发布到URL并获得403,则表示您的应用程序无权在服务器中创建对象。

答案 1 :(得分:0)

在项目中添加以下依赖项是因为httpclient的版本不匹配。尝试使用4.5.3版

maven repo link