StatusCode: 401, ReasonPhrase: 'Unauthorized', Version: 1.1, Content: <null>, Headers:
{
}I teoretycznie też zapisuje to jako token, chociaż nie jest tokenem bo sprawdzam czy po prostu jest jakaś odp xD
Mogę się jakoś dobrać do nagłówków aby status code wyciągnąć czy po prostu na sztywno dać warunek czy istnieje tekst "StatusCode" w response? Nie wiem jak inaczej to zweryfikować a moje rozwiązanie jest delikatnie ujmując brzydkie.
A to jak wysyłam:
signInUser(user: UserLogin){
return this.http.post(AppSettings.API_URL + CONTROLLER + 'login', user, {responseType: 'text'});
}Tajemnicą chyba nie bedzie, że dopiero ucze się więc wyrozumiałości xD
#programowanie #angular
@Dapred nice try, panie Mihau Biauek
Nie wiem jaki macie tam kontrakt, ale jeżeli używacie RESTa, to sprawdzenie status code odpowiedzi http jest rozwiązaniem 'by the book', przy 200 powinien być token w response, przy 401 wrócić do logowania
Angular chyba sam failuje promisa jak status code jest 4xx albo 5xx, wtedy można to złapać catchem i sprawdzić, albo użyć http interceptora żeby nie musieć tego robić przy każdym jednym strzale do API
Jeszcze można chyba użyć {"observe": "response"} w opcjach requesta, i potem w subscribe czy pipe będziesz miał cały response, a nie tylko response body, gdzie możesz sprawdzić status, jeśli dobrze pamiętam bo w angularze robiłem ostatnio 2 lata temu
@bzyku95 nie wiem czy dobrze łapie ale nie wchodzi mi w ogóle w catcherrora:
signInUser(parametry).pipe(
catchError(() => { <br />
console.log('blad');<br />
})<br />
).subscribe((response) => {<br />
i konsola milczy
@Dapred wejdź w zakładkę network w przeglądarce, jaki http status ma response w przypadku błędu przy logowaniu?
@bzyku95 200 XD no to by wiele tłumaczyło. Królu złoty dzięki wielkie za naprowadzenie
@Dapred spoko, powodzenia
Zaloguj się aby komentować