【发布时间】:2018-06-29 06:29:13
【问题描述】:
我正在通过 post 请求向 java restful web api 发送响应式表单数据,但它向我显示 CORS 错误虽然在 GET 请求中同样工作正常。我已经设置了 CORS 标头以响应 rest api。
Angular 服务代码:
private headers = new Headers({ 'Content-Type': 'application/json'});
baseURL='http://127.0.0.1:8080/userInformation/rest/UserService';
addData(formdata: any){
var body = JSON.stringify(formdata);
return this.http.post(this.baseURL+'/adduser',body)
.subscribe(
res => {
console.log(res);
},
err => {
console.log('Error occured');
}
);
}
JAVA Rest API 代码:
@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@Path("/adduser")
public Response createUser(String val){
Gson gson = new Gson();
User user = gson.fromJson(val, User.class);
userDao.insertUser(user);
String result="SUCCESS";
return Response.ok().entity(result)
.header("Access-Control-Allow-Origin", "*")
.header("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT, OPTIONS, HEAD")
.build();
}
标题说明: enter image description here 我认为当我们将数据发送到rest api时,我们需要将CORS源头设置为我们的角度代码。我该怎么做?
【问题讨论】:
-
这是确切的错误:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。
-
您真的是指CORS 错误吗?我想你会的。
-
您收到
403响应状态码了吗?另请参阅此帖子的答案stackoverflow.com/questions/46788969/… -
不,我收到错误代码 500。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'localhost:4200' 不允许访问。响应的 HTTP 状态代码为 500。
标签: java angular rest cors http-status-code-415