Передача параметров для 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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