gpt4 book ai didi

java - Java HttpPost 中序列化为请求参数的 json

转载 作者:行者123 更新时间:2023-12-01 11:14:15 25 4
gpt4 key购买 nike

我必须发送一个带有 json 序列化对象作为参数的请求,但我收到了内部服务器错误 (500)。这是我的代码:

 GsonBuilder gsonBuilder = new GsonBuilder();
Gson gson = = gsonBuilder.create();
HttpParams myHttpParams=new BasicHttpParams();
Application myApp = new Application();
myHttpParams.setParameter("app", gson.toJson(myApp));
HttpClient client = HttpClientBuilder.create().build();
HttpPost request = new HttpPost("https://foo.com/developers/apps.json");
request.setParams(myHttpParams);
request.addHeader("Authorization", "Basic cmljYXJkLm8sbGVAZ31haWwuY79tOkljb15vZmNvbWwzMDA=");
request.addHeader("Accept", "application/json");
HttpResponse response = client.execute(request);

System.out.println("\nResponse Code SaveOrUpdate : "
+ response.getStatusLine().getStatusCode());
System.out.println("\nResponse Code SaveOrUpdate : "
+ response.getStatusLine().getReasonPhrase());

示例创建请求命令:

curl -X POST -H "Authorization: Basic cmljYXJkLm8sbGVAZ31haWwuY79tOkljb15vZmNvbWwzMDA=" "http://foo.com/developers/apps.json" -d '{"name": "myApp", "description" : "My app description lines go here", "callbackurl" : "http://my.callback.url"}'

最佳答案

确实,正如您所说,它可以使用

HttpClient client = HttpClientBuilder.create().build();
HttpPost request = new HttpPost("https://foo.com/developers/apps.json");

StringEntity input = new StringEntity(gson.toJson(myApp));
input.setContentType("application/json;charset=UTF-8");
input.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,"application/json;charset=UTF-8"));
request.setEntity(input);

关于java - Java HttpPost 中序列化为请求参数的 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32018230/

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