Jersey客户端导致415不支持的媒体类型
问题描述:
明显的原因是没有提供正确的内容类型。但我提供。仍然我得到不受支持的媒体类型。不知道为什么。任何帮助不胜感激。Jersey客户端导致415不支持的媒体类型
Client c = Client.create();
WebResource resource = c.resource(HOST+"/test");
Gson gson = new Gson();
Test test = new Test();
test.setTestName("TEST AUTOMATION");
resource.header("Content-Type", "Application/json");
String testStr = gson.toJson(test);
System.out.println("Request Str: "+testStr);
ClientResponse response = resource.post(ClientResponse.class, testStr);
System.out.println("POST response : "+response);
POST response : POST http://host:8888/test returned a response status of 415 Unsupported `enter code here`Media Type
答
这就是我解决它的方法。它真的很奇怪。直到我结合下面的陈述,它没有奏效。从我编写的上述程序中,结合如下的标题声明和后置声明。另外不要忘记把charset = UTF-8。
ClientResponse response = resource.header("Content-Type",
"application/json;charset=UTF-8").post(ClientResponse.class,
testStr);
+0
即使您删除charset = UTF-8,我发现它仍在工作 – 2014-10-03 04:29:23
服务器能处理json内容吗? – 2014-09-29 16:04:04
您已经告诉了请求什么是内容类型,但是您的服务器上的方法是否说明它支持哪种类型?他们必须匹配。我期望服务器端方法有一个像@ @Consumes(MediaType.APPLICATION_JSON)''的注释。 – TedTrippin 2014-09-29 16:18:20
我的服务器可以处理json内容。 – 2014-09-30 04:43:04