A服務通過HttpClient呼叫B服務
阿新 • • 發佈:2021-01-12
技術標籤:java
A服務通過表單格式提交引數,B服務通過HttpServletRequest接收引數
A服務
@GetMapping("/test")
public void test() {
List<Params> list = paramsMapper.getList();
//System.out.println(list);
for (Params params : list) {
Map<String, String> para = new HashMap <>();
para.put("uId", params.getUId());
para.put("taskName", params.getTaskName());
para.put("sign", params.getSign());
para.put("sms", params.getSms());
para.put("sendData", params.getSendData ());
para.put("urlInfo", params.getUrlInfo());
String result = doPostJson("http://localhost:8086/XXX", para);
System.out.println(result);
}
}
public static String doPostJson(String urlStr, Map<String, String> para) {
String result = "";
HttpClient httpClient = new HttpClient();
PostMethod postMethod = new PostMethod(urlStr);
int paraSize = para.size();
NameValuePair[] data = new NameValuePair[paraSize];
int i = 0;
for (String key : para.keySet()) {
String value = para.get(key);// 得到每個key多對用value的值
data[i] = new NameValuePair(key, value);
i++;
}
// 將表單的值放入postMethod中
postMethod.setRequestBody(data);
postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "utf-8");
// 執行postMethod
try {
httpClient.executeMethod(postMethod);// int statusCode=httpClient.executeMethod(postMethod)
result = postMethod.getResponseBodyAsString();
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
return result;
}
}
B服務
@ResponseBody
@PostMapping("/XXX")
public String sendHangUpSMS(String uId,String taskName,String sign,String sms, String sendData,String urlInfo,Model model, RedirectAttributes redirectAttributes, HttpServletRequest request, HttpServletResponse response){
}