我已经获得了我的网络服务代码:
@POST
@Produces(MediaType.APPLICATION_JSON)
public static Response fillData(final Map<String, Object> data) {
...
final byte[] file = ...
return Response.ok(file).build();
如何将地图数据发送到服务?
final javax.ws.rs.core.Response reponse = client.target(URL_REST).path("/path").request(MediaType.APPLICATION_JSON).post(?);
以下是我的JSON文件示例:
{
"activity" : {
"code" : "ACT_014",
"title" : "FIGHTING"
},
"adress" : {
"place" : "",
"number" : ""
}
}
谢谢。
答案 0 :(得分:0)
您是否尝试过HttpURLConnection?
URL url = new URL(URL_REST);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
String input = "{\"activity\" :....}";
OutputStream os = conn.getOutputStream();
os.write(input.getBytes());
os.flush();
...并收集输出响应数据
答案 1 :(得分:0)
我必须使用MediaType.APPLICATION_JSON_TYPE:
.post(Entity.entity(data, MediaType.APPLICATION_JSON_TYPE), Response.class)
答案 2 :(得分:0)
答案 3 :(得分:0)
如果您对客户端技术没有要求,可以使用Restlet框架和库org.json
。以下是代码示例:
ClientResource cr = new ClientResource("http://...");
JSONObject obj = new JSONObject();
obj.put("activity", "my value");
(...)
cr.post(new JsonRepresentation(obj));
希望它有所帮助, 亨利