J'essaie d'entrer dans angular récemment. J'ai une demande paginée.
const myParams = new HttpParams().set('page', page.toString()).set('size', size.toString());
this.http.get<HttpResponse<User[]>>('https://localhost:8443/user/', {
headers: new HttpHeaders({ 'Content-Type': 'application/json' }),
params: myParams,
observe: 'response'
}).suscribe((response: HttpResponse<User[]>) => this.data = response.body);
Le nombre total d'éléments dans la base de données est transféré au client dans le X-Total-Count
entête. j'ai essayé de le lire comme ça:
.suscribe((response: HttpResponse<User[]>) => {
this.data = response.body;
this.totalCount = response.headers.get('X-Total-Count');
});
Mais cela ne fonctionne pas. Il s'avère que response.headers ne comprend qu'un sous-ensemble des vrais en-têtes de réponse http.
voici à quoi ressemble l’objet headers
"headers": {
"normalizedNames": {},
"lazyUpdate": null
}
Je suis sûr que X-Total-Count a été envoyé. Les devtools de Firefox le montrent. Pourriez-vous me dire comment l'inclure dans la réponse?
[~ # ~] mise à jour [~ # ~]
Cette question diffère de celle qui a été identifiée comme un doublon de la manière suivante: je n'ai pas demandé comment inspecter l'intégralité de httpResponse. J'ai compris cela par moi-même. J'ai demandé pourquoi l'attribut headers
de la réponse n'est pas complet.
Essayez d'ajouter withCredentials: true
à l'objet d'options http.