java调用RestFul WebService的例子

pom文件

<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.3</version>
</dependency>


public void sendDataToRemote(){
Map<String,Double> map = new HashMap<String, Double>();
synchronized (PointValueService.mapLock){
map = PointValueService.map;
}
Gson gson = new Gson();
String url = ipAddress + "/receiveService/receiveRemoteService"; //访问远程方法路径
String dataString = gson.toJson(map);
System.out.println("----------------dataString----------" + dataString);
try {
String data = CodecTools.compressAndEncode(dataString); // 压缩后的实时数据信息
// TODO Java调用指定ip路径下方法 accessPath
String t=CodecTools.decodeAndUncompress(data);
// System.out.println("data---------------"+data);
// System.out.println("t---------------"+t);
List<NameValuePair> params = new ArrayList<NameValuePair>();
// params.add(new BasicNameValuePair("userName", "Sun"));
params.add(new BasicNameValuePair("param",data));
getRest(url, params);
} catch (IOException e) {
e.printStackTrace();
}
}


public static String getRest(String url,List<NameValuePair> params){
// 创建默认的httpClient实例.
CloseableHttpClient httpclient = HttpClients.createDefault();
// 创建httppost
HttpPost httppost = new HttpPost(url);

UrlEncodedFormEntity uefEntity;

try{
uefEntity = new UrlEncodedFormEntity(params, "UTF-8");
httppost.setEntity(uefEntity);
CloseableHttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
String json= EntityUtils.toString(entity, "UTF-8");
int code= response.getStatusLine().getStatusCode();
if(code==200 ||code ==204){
return json;
}
}catch (Exception e){
e.printStackTrace();
}

return "";
}
原文地址:https://www.cnblogs.com/zhanying999666/p/7693081.html