gpt4 book ai didi

java - 在 Java 类中的 HTTP 中发布 JSON 对象

转载 作者:行者123 更新时间:2023-11-30 03:13:00 26 4
gpt4 key购买 nike

这是我将 JSON 发布为 json.toString() 时遇到的错误我被这个问题困扰了。需要帮助尽早克服这个问题

Error code -415
Unsupported Media Type.

代码是

String url = "http://0.0.0.0:0000/XXXX/XXXX?wsdl";
HttpClient client=new DefaultHttpClient();
HttpPost post = new HttpPost(url);
post.setHeader("Accept", "application/json");
post.setHeader("headerValue", "HeaderInformation");

//setting json object to post request.
JSONObject jsonObject=jsonValue();
if(jsonObject!=null ){
StringEntity entity = new StringEntity(jsonObject.toString(), "UTF8");
entity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
post.setEntity(entity);

//this is your response:
HttpResponse response = client.execute(post);
System.out.println("Response: " + response.getStatusLine());
System.out.println(response.getStatusLine().toString());
}else{
System.out.println("jsonObject is Empty");

最佳答案

这意味着您接受帖子的服务不接受您提供的媒体类型。它可能用@Consumes(某些东西)进行注释。你需要找到它是什么。您在发布时必须明确指定媒体类型。

例如 JAX-RS 客户端 API:

Client client = ClientBuilder.newClient(new ClientConfig()
.register(MyClientResponseFilter.class)
.register(new AnotherClientFilter()));

String entity = client.target("http://example.com/rest")
.register(FilterForExampleCom.class)
.path("resource/helloworld")
.queryParam("greeting", "Hi World!")
.request(MediaType.TEXT_PLAIN_TYPE)
.header("some-header", "true")
.get(String.class);

根据您的情况,您需要更改:

.request(MediaType.TEXT_PLAIN_TYPE)

看这里:Jersey Client API

关于java - 在 Java 类中的 HTTP 中发布 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33252419/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com