2016-03-12 2 views
0

Я использую Yeoman generator for AngularJS, и я хотел бы взаимодействовать с сервером REST (который использует Spring Boot).AngularJS REST вызов на другой сервер

В моем компьютере:

В моем AngularJS приложении у меня есть услуга, как что:

angular.module('myApp') 
    .factory('User', ['$resource', 
    function($resource){ 
     return $resource('http://localhost:8080/poc/hello', {}, { 
     query: {method:'GET'} 
     }); 
    }]); 

И вот контроллер:

angular.module('myApp') 
    .controller('RegisterCtrl', ['$scope', 'User', function($scope, User) { 
     $scope.hello = User.query(); 
}]); 

В моей Java приложения:

@RestController("poc") 
public class PocController { 

    @RequestMapping("hello") 
    public String getHello() { 
     return "Hello World !"; 
    } 
} 

Но когда я хочу сделать вызов, я блокировано "CORS" ...

Что такое лучший способ делать то, что я хочу делать? Не только для запроса GET, но POST, и т.д ...

Можно ли «настроить» URL-адрес сервера (REST http://localhost:8080/) один раз и сделать все AngularJS называть (как /poc/hello) перенаправляется на http://localhost:8080/poc/hello? Если да, то как?

+1

Прочитайте этот [Guide] (https://spring.io/guides/gs/отдых-сервис-CORS). –

ответ

2

набор заголовков в вашем отдыхе сервере Ниже некоторые данные, которые я установить на моем сервере узла, но детали должны помочь:

'Access-Control-Allow-Origin': 'http://localhost:9000' 
'Access-Control-Allow-Methods': 'GET, POST, OPTIONS, PUT, PATCH, DELETE' 
'Access-Control-Allow-Headers': 'X-Requested-With,content-type' 
'Access-Control-Allow-Credentials': false 
Смежные вопросы