I'm scrutinizing the docs for HttpClient
, focusing on the get(...)
method. I've prepared the following sample:
const headers: HttpHeaders = new HttpHeaders();
const observe: HttpObserve = null;
const params: HttpParams = new HttpParams();
const reportProgress = false;
const responseType = "json";
const withCredentials = true;
const options = {
headers, observe, params,
reportProgress, responseType, withCredentials
};
this.http.get(url, options)
I get an error stating the following.
No overload matches this call.
The last overload gave the following error.
Argument of type '{ responseType: string; ... }'
is not assignable to parameter of type '{ responseType?: "json" | undefined; ... }'.
Types of property 'responseType' are incompatible.
Type 'string' is not assignable to type '"json" | undefined'.
It's pretty obvious what's the reported issue. However, I don't see how what I typed is in validation towards what is required. If I type undefined
as the value for responseType
, the compiler is satisfied. In fact, the elaborated code samples (number 7, 8 and 12 through 15) explicitly state that it's the syntax to be used.
How is my "json"
not the required "json"
?