У меня возникла странная ситуация, возможно, потому, что я что-то пропустил, чего не осознавал или не знал.
Я создаю простой пользовательский интерфейс входа в систему с помощью 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)
Код: Выделить всё
login(username: string, password: string) {
return this.http.post(this.url+"/security/logon/",
JSON.stringify({ userID: username, password: password }) )
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 )
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