Wpis z mikrobloga

Tworzę w Angularze 5 FrontEnd (dopiero się uczę) i wykorzystuje HttpClient do puszczenia POSTa do backendu, który ma poprzez przekazanie parametrów email oraz password zwrócić dane usera wraz z tokenem dostępu.

Wygląda to obecnie tak:

(...)
onClick(){
this.http.post('http://backend/api/user/login', this.user).subscribe(
res => { console.log(res); },
err => { console.log(err); }
)
}

Gdzie:
- url jest poprawny
- obiekt user jest to obiekt JSowy { email: 'adres@email.com', password: 'poprawnehaslo' }
- wszystkie importy są poprawne, ponieważ na innych stronach wszystko działa

Problem polega na tym, że wyżej zademonstrowany POST zwraca mi zawsze 400 z odpowiedzią customową z backendu, która sugeruje jakoby wysyłane dane były źle skonstruowane, bądź w ogóle ich nie było.
Wszystko inne zwraca poprawnie 200 i umożliwia zalogowanie się (python requests, jQuery oraz Postman) natomiast Angular uparcie się sypie.

Macie jakieś porady, wskazówki? ( ͡° ʖ̯ ͡°)

#angular #frontend #programowanie #help
  • 4
@Docker: Już rozwiązałem.

this.user jest to obiekt zdefiniowany wcześniej tak:

interface User {
email: string,
password: string,
}

W komponencie przed konstruktorem stworzyłem stały parametr user, bazujący na klasie User, który zmienia się dynamicznie poprzez 2 kierunkowe wiązania danych (nie wiem jak to poprawnie przetłumaczyć).

Przekazanie parametru user jako body w zapytaniu powodowało wysłanie go w postaci JSONa, aby REST API poprawnie to przyjmowało musiałem stworzyć nowy obiekt HttpParams oraz wprowadzić