У меня проблема с параметрами запроса в angular 8. Это код:
headers = {
headers: new HttpHeaders({
'Content-Type' : 'application/json',
'Accept': 'application/json'
})
};
login(username, password) {
console.log('login');
let params = new HttpParams();
params = params.append('username', username);
params = params.append('password', password);
let options = { headers: this.headers, params: params };
return this.http.post<any>(this.host + 'login', options).pipe(map(data => {
console.table(data);
this.setSession(data);
this.currentUserSubject.next(data.user);
}));
}
Я также пытался
let params = new HttpParams();
params = params.set('username', username);
params = params.set('password', password);
и
let params = new HttpParams().set('username', username).set('password', password);
и
let params = new HttpParams().append('username', username).append('password', password);
Внутренний сервер получает имя пользователя и пароль как неопределенные, ранее у меня был этот код, который работал правильно:
login(username, password) {
console.log('login');
return this.http.post<any>('http://localhost:8080/login?username='+username+'&password='+password,
{headers:{
'Content-Type' : 'application/json',
'Accept': 'application/json'}}
).pipe(map(data => {
this.setSession(data);
this.currentUserSubject.next(data.user);
}));
}
Что не так? Спасибо