Maillot 2.x: Comment faire pour ajouter des en-Têtes sur Reposante Client
Je l'ai déjà regardé Comment ajouter des en-Têtes sur Reposante appel à l'aide de Jersey Client API, mais c'est pour le Jersey 1.x.
Comment faire pour définir une valeur d'en-tête (comme un jeton d'autorisation) en Jersey 2.21?
Voici le code que j'utilise:
public static String POST(final String url, final HashMap<String, String> params)
{
ClientConfig config = new ClientConfig();
Client client = ClientBuilder.newClient(config);
WebTarget target = client.target(url);
String data = new Gson().toJson(params);
Entity json = Entity.entity(data, MediaType.APPLICATION_JSON_TYPE);
Invocation.Builder builder = target.request(MediaType.APPLICATION_JSON_TYPE);
return builder.post(json, String.class);
}
C'est à peu près la même chose dans le Jersey 2. Indicateur de voir la javadoc de
Il y a une assez bonne réponse par @rgettman - si elle résout la question, vous devez l'accepter.
Invocation.Builder
Il y a une assez bonne réponse par @rgettman - si elle résout la question, vous devez l'accepter.
OriginalL'auteur Joshua Kissoon | 2015-09-11
Vous devez vous connecter pour publier un commentaire.
En Jersey 2.0+, vous pouvez enregistrer une implémentation personnalisée de
ClientRequestFilter
qui peut manipuler les en-têtes dans la demande que le Client API envoie.Vous pouvez manipuler les en-têtes via le
ClientRequestContext
paramètre qui est passé dans lefilter
méthode. LegetHeaders()
méthode renvoie laMultivaluedMap
sur lequel vous pouvezput
votre en-tête(s).Vous pouvez registre personnalisé de votre
ClientRequestFilter
avec votreClientConfig
avant d'appelernewClient
.OriginalL'auteur rgettman
Si vous souhaitez ajouter seulement quelques-têtes en Jersey 2.x client, il vous suffit de l'ajouter lors de la demande envoie comme suit.
OriginalL'auteur Madura Pradeep
À ajouter à ce que Pradeep dit, il y a aussi les en-têtes(MultivaluedMap < String, Objets> sous WebTarget.demande() si vous avez une ribambelle de têtes:
OriginalL'auteur mojo-jojo