Jersey 2.x: How to add Header auf Rest-Client
Habe ich schon angeschaut Wie fügen Sie Kopfzeilen auf Rest-Aufruf mit der Jersey-Client-API, aber das ist für Jersey-1.x.
Wie kann ich einen header mit dem Wert (wie ein Autorisierungs-token) im Trikot 2.21?
Hier ist der code, den ich verwende:
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);
}
- Es ist ziemlich viel die gleiche Sache in der Jersey 2. Tipp, schauen Sie die javadoc für
Invocation.Builder
- Es ist eine ziemlich gute Antwort von @rgettman - wenn es löst die Frage, sollten Sie es akzeptieren.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Jersey 2.0+, können Sie sich eine benutzerdefinierte Implementierung von
ClientRequestFilter
kann manipulieren der Header in der Anforderung, dass die Client-API senden.Können Sie manipulieren der Header über die
ClientRequestContext
parameter, der übergeben wird in derfilter
Methode. DiegetHeaders()
Methode gibt dieMultivaluedMap
auf die Sieput
Ihre header(s).Können Sie registrieren Ihre benutzerdefinierten
ClientRequestFilter
mit IhremClientConfig
rufen Sie vornewClient
.Wenn Sie möchten, fügen Sie nur wenige Kopfzeilen in Jersey 2.x-client, können Sie einfach fügen Sie es, wenn Sie Anfrage senden Sie wie folgt vor.
Hinzufügen, was Pradeep gesagt, es gibt auch Header(MultivaluedMap < String, Objekte> unter WebTarget.request() wenn Sie eine Schar von Headern: