Передача параметров для http.post в Angular при вызове веб-API JavaJAVA

Программисты JAVA общаются здесь
Гость
Передача параметров для http.post в Angular при вызове веб-API Java

Сообщение Гость »


У меня возникла странная ситуация, возможно, потому, что я что-то пропустил, чего не осознавал или не знал.
Я создаю простой пользовательский интерфейс входа в систему с помощью Angular и вызываю веб-API, созданный на Java.
Функция веб-API Java следующая:

Код: Выделить всё

@RequestMapping(value = "/logon", method = RequestMethod.POST, produces = {"application/json"})
@ResponseBody
public String logon(
@RequestParam(value = "userID", required = true) String userID,
@RequestParam(value = "password", required = true) String password,
HttpServletRequest request)
Теперь, если я использую http.post следующим образом:

Код: Выделить всё

login(username: string, password: string) {
return this.http.post(this.url+"/security/logon/",
JSON.stringify({ userID: username, password: password }) )
После этого в браузере Google Chrome появляется следующая ошибка:

POST http://localhost:8080/ logon/ 400 (обязательный строковый параметр userID отсутствует)

Но если я изменю код следующим образом:

Код: Выделить всё

login(username: string, password: string) {
var usrpwd = "userID=" + username + "&password=" + password;
return this.http.post(this.url+"/security/logon?"+usrpwd, usrpwd )
It work perfectly.
Am I missing something? Why the second parameter of http.post that should be the parameter passed not seems to be working?


Источник: https://stackoverflow.com/questions/523 ... va-web-api

Вернуться в «JAVA»