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

标签 java json rest http restful-url

我必须发送一个带有 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/

相关文章:

rest - Grails 3-迅速地记录Spring Security Rest的登录API

java - 为什么我的正则表达式在 android 的短信接收器上没有被正确解析?

java - 不要坚持主题卡夫卡

java - 直接将图像添加到JPanel

java - android 截击超时错误

php - 在Codeigniter中如何提高Rest Web service Mysql的性能?

java - Java中有没有类似于grep()的过滤方法?

node.js - AJV 使用 JSONPath 字符串验证架构

ios - 检查 Objective C 中的空 JSON 键

java - 如何在 Spring Boot 中使用 @NotEmpty 约束来验证 HTTP 请求正文?