java - 在 Angular 4 中将数据发送到 JAVA post REST API 时出现 CORS 错误

标签 java angular rest cors http-status-code-415

我通过 post 请求向 java Restful Web api 发送响应式(Reactive)表单数据,但它显示 CORS 错误,而在 GET 请求中同样工作正常。我已经设置了 CORS header 以响应其余 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 原始 header 设置为我们的 Angular 代码。我怎样才能做到这一点?

最佳答案

您可以通过在 Controller 类声明上使用注释来解决它。

@RestController
@CrossOrigin(origins = "*", maxAge = 3600)
@RequestMapping({ "/controller" })
public class Controller {
}

关于java - 在 Angular 4 中将数据发送到 JAVA post REST API 时出现 CORS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48350852/

相关文章:

angular - 如何使用 angular2 形式获取所有 "dirty"(已修改)字段?

angular - 当用户以 Angular 输入时动态计算单词

rest - Golang rest API 项目结构

java - 时髦的冒泡排序 (Java Eclipse)

java - 使用 Qt 在 Android 上实现 NFC

java - 如何在swing中的JTextArea中的行之间切换

java - 每次打开应用程序时强制执行异步任务

javascript - 如何在通用验证器类 Angular2 中实现自定义验证器?

api - Firebase 通过 REST API PHP CURL 获取数据

python - 作为 REST api 的一部分返回多行字符串