CRUD: метод обновления не работает [Angular] - PullRequest
0 голосов
/ 27 мая 2020

У меня проблема с методом обновления. Я работаю над проектом весенней загрузки angular, поэтому обновление не работает на внешнем интерфейсе, мой код выглядит logi c может кто-нибудь g ie получить представление об этой проблеме

user.service

 updateProfile(userData: SignUpData, id: string ): Observable<any> {
    return this.http.patch( API_URL + 'update/' + id, userData, httpOptions);
  }

component.ts

form: any = {};
  id: string;
  errorMessage = '';
  currentUser: any;

  constructor(private userservice: UserService, private route: ActivatedRoute, private router: Router, private token: TokenStorageService) { }

  ngOnInit() {
    this.currentUser = this.token.getUser();
  }
 onSubmit() {

    const {adresse1, ...rest} = this.form;

    const userData: SignUpData = {...rest, adresses: [adresse1]};

    this.userservice.updateProfile(userData, this.currentUser.id).subscribe(
      data => {
        console.log(data);

      },
      err => {
        this.errorMessage = err.error.message;
      }
    );
  }

Interceptor.ts

export class AuthInterceptor implements HttpInterceptor {
  constructor(private token: TokenStorageService) { }

  intercept(req: HttpRequest<any>, next: HttpHandler) {
    let authReq = req;
    const token = this.token.getToken();
    if (token != null) {

      authReq = req.clone({ headers: req.headers.set(TOKEN_HEADER_KEY, 'Bearer ' + token) });


    }
    return next.handle(authReq);
  }
}

export const authInterceptorProviders = [
  { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true }
];

1 Ответ

0 голосов
/ 27 мая 2020

Я пытаюсь выйти и войти в систему, и это работает, потому что сначала я не получил идентификатор пользователя, поэтому я добавляю this.currentUser = this.token.getUser(); без refre sh аутентификации, поэтому GET всегда возвращал 401 not found. Надеюсь, этот ответ может помочь людям, у которых есть такая же проблема. Спасибо, ребята, за ваши ответы

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