The second argument passed in to HttpClient.post
represents the body of the request, but you're providing Headers
here. Use the following to provide the headers correctly:
return this.http.post('http://localhost:8000/api/v1/authenticate', null, options);
I've shown null
in the example for the body, but you probably want that to include the email
and password
properties in some form.
You're also mixing Http
and HttpClient
. If you're going to use HttpClient
(which is now the recommended approach), drop RequestOptions
and Headers
in favour of HttpHeaders
. This becomes:
let headers = new HttpHeaders({
'Content-Type': 'application/json',
'Authorization': this.basic });
let options = { headers: headers };
The rest of the code stays the same. Your createAuthorizationHeader
function needs to use and return an instance of HttpHeaders
. This class is immutable, so append
returns a new object each time it is called. Import HttpHeaders
from @angular/common/http
.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…