gson Unirest在使用json body进行POST时插入空字段,即使相同的body在其他地方也可以工作

tkqqtvp1  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(140)

我使用unirest来执行一个post/put请求,使用从gson的toJson方法中获得的字符串作为主体

String entityJson = gson.toJson(entity);
        System.out.println(entityJson);

        HttpResponse<JsonNode> response = Unirest.post(http://localhost:8080/post/")
                .header("Accept", "application/json")
                .body(entityJson)
                .asJson();
        System.out.println(response.getBody().toPrettyString());

字符串
我得到的响应中实体的所有字段都是空的,但是当复制entityJson的打印字符串并将其用作json主体时,同时通过postman执行相同的post请求,它可以正确地使用实体中填充的所有字段

xxe27gdn

xxe27gdn1#

我通过指定一个新的header并将其插入到header字段中来解决这个问题,

Map<String, String> headers = new HashMap<>();
    headers.put("accept", "application/json");
    headers.put("content-type", "application/json");

  HttpResponse<JsonNode> response = Unirest.post(http://localhost:8080/post/")
            .headers(headers)
            .body(entityJson)
            .asJson();

字符串

相关问题