【发布时间】: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