Erdinç Taşkın
Erdinç Taşkın

Reputation: 1578

Jersey Client set content-type header as text/plain

Using jersey client sending HTTP request. Content-Type header is automatically set as "application/json" (as a nature), but i want to changing "content-type" header with "text/plain" regardless of any specification, standards etc. Jersey version is 2.4.1.

Code

String target = "http://192.168.1.2:10000";
String path = "test3";

Client c = ClientBuilder.newClient ();
WebTarget target = c.target (target).path (path);

Entity<SubscriberBean> json = Entity.json (subscriber);
Builder request = target.request ();

String response = request.post(json, String.class);

Request

POST /test3 HTTP/1.1
Accept: text/html
Content-Type: application/json
User-Agent: Jersey/2.4.1 (HttpUrlConnection 1.6.0_17)
Host: 192.168.1.2:10000
Connection: keep-alive
Content-Length: 278

///**** Some json data ***///

Upvotes: 1

Views: 20824

Answers (2)

Oleg Estekhin
Oleg Estekhin

Reputation: 8395

Use Entity.text(entityData) or Entity.entity(entityData, mediaType) methods instead of Entity.json() in your example.

Upvotes: 4

slartidan
slartidan

Reputation: 21556

instead of

request.post(json, String.class);

try to use

request.type(MediaType.TEXT_PLAIN).post(json, String.class);

Upvotes: 5

Related Questions