【问题标题】:org.apache.cxf.jaxrs.client.WebClient HTTP PUT payload formatorg.apache.cxf.jaxrs.client.WebClient HTTP PUT 有效负载格式
【发布时间】:2018-09-17 05:30:33
【问题描述】:

我正在尝试使用 org.apache.cxf.jaxrs.client.WebClient 进行 HTTP PUT。服务器期望有效载荷的格式为:

{"key":"mainkey","value":{\"intKey1\":\"value1\",\"intKey2":\"value2\"},"ttl":"100"}

但是,我最终发送如下:

{"key":"mainkey","value":{"intKey1":"value1","intKey2":"value2"},"ttl":"100"}

(注意内部键值需要转义引号)

这是我的代码 sn-p:

private void callClient4(RestClient client) {
KeyValueMessage<String, Map<String, String>> kv = new KeyValueMessage<String, Map<String, String>>();
kv.setKey("mainkey");
kv.setTtl("100");
Map<String, String> map = new HashMap<>();
map.put("intKey1", "value1");
map.put("intKey2", "value2");
kv.setValue(map);
Response ret = client.getClient().accept(MediaType.APPLICATION_JSON).type(MediaType.APPLICATION_JSON).sync()
    .put(Entity.json(kv));

}

可以做些什么来改变服务器所期望的格式?

【问题讨论】:

    标签: java json cxf web-client


    【解决方案1】:

    使用 com.fasterxml.jackson.databind.ObjectMapper 解决问题 ObjectMapper objectMapper = new ObjectMapper(); objectMapper.writeValueAsString(map);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-12
      • 2019-11-10
      • 2013-09-06
      • 1970-01-01
      相关资源
      最近更新 更多