J'expose mon application java en tant qu'API REST en utilisant apache cxf.Récupère les en-têtes envoyés par le postier dans java
Comment puis-je obtenir les détails d'en-tête envoyés par l'appelant api dans ma méthode d'application java @GET
J'expose mon application java en tant qu'API REST en utilisant apache cxf.Récupère les en-têtes envoyés par le postier dans java
Comment puis-je obtenir les détails d'en-tête envoyés par l'appelant api dans ma méthode d'application java @GET
Apache CXF implémente la spécification JAX-RS. Ainsi, vous pouvez injecter HttpHeaders
dans vos méthodes de classe de ressources ou de ressources en utilisant @Context
:
@Context
HttpHeaders httpHeaders;
Ensuite, vous pouvez utiliser le HttpHeaders
API pour obtenir les valeurs d'en-tête:
HttpHeaders#getHeaderString(String)
HttpHeaders#getRequestHeaders()
HttpHeaders#getHeaderString(String)
Si vous avez besoin de la valeur d'un en-tête HTTP standard, utilisez le constants available in the HttpHeaders
API:
// Get the value of the Authorization header
String authorizationHeader = httpHeaders.getHeaderString(HttpHeaders.AUTHORIZATION);
Voir Apache CXF documentation sur les types de contexte pour plus de détails.
Merci Cássio, il a résolu mon problème. [lien] (https://www.ibm.com/support/knowledgecenter/fr/SSAW57_8.0.0/com.ibm.websphere.nd.doc/info/ae/ae/twbs_jaxrs_contextobjects_httpheaders.html) explique également la même chose avec des exemples – user8765332
Cassio, Comment puis-je supprimer ci-dessous erreur: _Response à la demande prévol ne passe pas vérification de contrôle d'accès: en-tête non « Access-Control-Allow-Origin » est présent sur la demande resource._ je reçois cette erreur lorsque j'accède à l'API à partir d'un fichier html – user8765332
@ user8765332 C'est un problème CORS. Vous devriez poser une autre question. –
Et qu'avez-vous essayé? Afficher un code –