2017-02-06 11 views
0

У меня есть REST API конечной точки, как это -

@RequestMapping(value = "/createform/custom/name", method = RequestMethod.POST) 
public String nameSubmit(@RequestBody String name) { 
    return "you have submitted this name ***** "+name; 
} 

От углового службы я попытался сделать вызов REST, как это -

var data = 'name='+inputName; 
$http.post(uploadUrl, data, { 
     headers: {'Content-Type': 'application/x-www-form-urlencoded'} 
    }).then(
     function(success){ 
      alert(success.data); 
     }, 
     function(error){ 
      alert(error.status); 
     } 
    ); 

Теперь я всегда получаю статус HTTP -1, и управление переходит к блоку ошибок. Я также попробовал @RequestParam вместо @RequestBody, но не повезло. Но если я попытаюсь получить доступ к службе через локон или хромированный почтальон, все будет хорошо. Только когда я пытаюсь выполнить угловое приложение, я застрял с -1 ответом.

+0

Какая ошибка в точности? – Salman

+0

Можете ли вы отправить сообщение контроллеру покоя, который не требует каких-либо аргументов? Я бы начал с этого базового уровня, а затем, после того, как вы опубликуете что-то общее, посмотрите, можете ли вы опубликовать это имя. Что вы уже пробовали? – bowserm

+0

Только что я тестировал с удалением параметра и метода POST, поэтому мой метод контроллера теперь выглядит следующим образом: @RequestMapping (value = "/ createform/custom/name") public String nameSubmit() {return "success"; }. Опять от почтальона он работал нормально, но из приложения он по-прежнему приземлялся на -1 блок ошибок. Это новый контроллер, имеющий только этот метод, и это первый раз, когда я пытаюсь получить доступ к этому .... -1 связан с ошибкой тайм-аута, так же как и эта проблема с CORS? Если да, то как я могу установить его? – boolean

ответ

0

Это проблема CORS. Сначала я попробовал Spring proposed solutions. Но банку «gs-rest-service-cors» не было найдено в репозитории Maven. Следовательно, закончил писать a filter, как показано здесь, и все сработало нормально.