Angular метод post не получил ответ от весеннего загрузочного приложения - PullRequest
0 голосов
/ 15 января 2020

Не понял, почему похожие методы не имеют одинакового поведения.

У меня есть два метода авторизации в 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" не выполняется, хотя служба сохраняет нового пользователя и в консоли нет ничего плохого. Но почему? О_о Они почти одинаковые!

Спасибо за внимание и помощь)

1 Ответ

0 голосов
/ 14 февраля 2020

Однажды у меня была похожая проблема, когда я отправлял строку, так как ответ может быть попыткой чего-то другого вместо отправки

ResponseEntity.ok ("Пользователь успешно зарегистрирован!");

попробуйте как ResponseEntity.ok (создайте некоторый объект и установите для него эту строку);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...