Не понял, почему похожие методы не имеют одинакового поведения.
У меня есть два метода авторизации в angular:
login(loginForm: LoginForm): Observable<JwtInfo> {
return this.http.post<JwtInfo>(URL + 'login', loginForm, httpOptions);
}
reg(regForm: RegForm): Observable<any> {
console.log(regForm.username + ' ' + regForm.password);
return this.http.post(URL + 'reg', regForm, httpOptions);
}
и методы подписки на них:
login(data) {
const loginForm: LoginForm = new LoginForm(data.username, data.password);
this.authService.login(loginForm).subscribe((response: JwtInfo) => {
this.tokenStorage.saveToken(response.accessToken);
this.tokenStorage.saveUserName(response.username);
this.tokenStorage.saveAutorities(response.authorities);
window.location.reload();
},
error => this.infoMessage = error.error.message);
}
reg(data) {
const regForm: RegForm = new RegForm(data.username, data.password);
console.log(regForm.username);
this.authService.reg(regForm).subscribe(response => {
console.log('Response received');
this.router.navigate(['login']);
this.infoMessage = response;
},
error => this.infoMessage = error.error.message);
}
API Spring Boot для них:
@PostMapping("/login")
public ResponseEntity<?> login(@RequestBody LoginForm loginForm) {
...// Bla bla bla
return ResponseEntity.ok(new JwtResponse(token, userPrincipal.getUsername(), userPrincipal.getAuthorities()));
}
@PostMapping("/reg")
public ResponseEntity<?> register(@RequestBody RegForm regForm) {
...// Bla bla bla
return ResponseEntity.ok("User registered successfully!");
}
Метод входа работает хорошо, я получил respose и код выполняется в подписке (response => bla bla). НО код в подписке (response => bla bla) метода "reg" не выполняется, хотя служба сохраняет нового пользователя и в консоли нет ничего плохого. Но почему? О_о Они почти одинаковые!
Спасибо за внимание и помощь)