0
votes

Impossible de détecter les en-têtes http

J'ai configuré mon API sur le serveur Web, je ne parviens actuellement pas à récupérer les données à l'aide de la clé de mon application, mais je suis capable de le faire avec Postman, veuillez aider

const httpOptions = {
      headers: new HttpHeaders({
        'APP_KEY': 'ABCDEFGHJ'

      })
    };

    this.http.get('<my_api_link>', httpOptions).subscribe((res) => {
      this.Result = JSON.stringify(res);
      console.log('Result', this.DataResult);
    }, (err) => {
      console.error(err.status);
      console.error(err.error); // Error message as string
      console.error(err.headers);
    });

Le message d'erreur n'a pas pu trouver la clé d'application


0 commentaires

4 Réponses :


1
votes

Essayez de définir les en-têtes de cette façon

const httpHeaders = new HttpHeaders()
  .set('APP_KEY', 'ABCDEFGHJ');

this.http.get('<my_api_link>', httpHeaders)


6 commentaires

les en-têtes ne devraient-ils pas faire partie de l'objet d'options?


@KiraAG de cette façon est également valide


en fait, toutes ces 3 méthodes fournies sont les mêmes, juste un peu différentes sur la structure, mais toujours incapables de détecter la clé de l'application


Comment vérifiez-vous que la clé n'est pas détectée?


J'ai sorti la clé entrée sur la console DataResult {"0": 401, "message": "Clé d'application non trouvée, entrée API_KEY ="}


essayez de consoler et de vérifier au niveau de l'intercepteur avant l'appel de l'API.



1
votes

Essayez ceci:

let headers = new HttpHeaders();
headers = headers.set('APP_KEY','ABCDEFGHJ');

Ou

var token = 'ABCDEFGHJ';
const myHeaders = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': token });
this.http.get('<my_api_link>', { headers: myHeaders });


0 commentaires

1
votes

Modification de votre extrait de code:

const httpOptions = {
  headers: new HttpHeaders().set('APP_KEY', 'ABCDEFGHJ')
};

this.http.get('<my_api_link>', httpOptions).subscribe((res) => {
  this.Result = JSON.stringify(res);
  console.log('Result', this.DataResult);
}, (err) => {
  console.error(err.status);
  console.error(err.error); // Error message as string
  console.error(err.headers);
});


0 commentaires

0
votes

importer {HttpClient} depuis '@ angular / common / http';

constructeur (_httpClient privé: HttpClient) {

// du code

}