1、首先简单的画图来描述案例过程
1、用户系统通过提供一个外部接口(这里使用SpringBoot快速创建一个简单的Controller)项目结构及代码如下:
这里只给大家贴上控制层代码及项目结构,其它均按照mvc模式进行封装这里不再贴出
2、订单系统通过httpClient进行调用这个接口:
使用httpClient进行get请求调用代码如下:
/**
* 使用http协议远程调用接口公用方法
*/
public String get(String url){
CloseableHttpClient httpClient = HttpClients.createDefault();
try {
//创建HTTP get请求
HttpGet httpGet = new HttpGet(url);
System.out.println("【execution request 请求地址】:"+ httpGet.getURI());
//执行get请求
CloseableHttpResponse response = httpClient.execute(httpGet);
try{
//获取相应实体
HttpEntity entity = response.getEntity();
System.out.println("【已获取相应实体】="+entity);
//打印响应状态
System.out.println("【此次请求响应状态state】:"+response.getStatusLine());
if(entity !=null){
//打印响应内容长度
System.out.println("【此次响应内容长度】:"+entity.getContentLength());
//获取相应内容
String result = EntityUtils.toString(entity);
//打印响应内容
System.out.println("【此次响应内容】:"+result);
return result;
}
}finally {
response.close();
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
httpClient.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return null;
}