每次都忘记传参,特意记录一下
1.post 请求
//第三方返回参数 格式 {"IsPass":true,"MSG":"成功","Obj":"{\"failureList\":[],\"successList\":[{\"msg\":\"同步成功\",\"num\":0,\"id\":\"514f1f2f8a1b4dfdab51b3fe45cc7798\"}],\"successNum\":1,\"failureNum\":0}"}
//映射实体类:注意第三方需要什么参数,实体类就写什么参数
EquipPort qianYue = new EquipPort();
qianYue.setUnit_id(Constant.unit_id_z);
qianYue.setC_key(Constant.c_key_z);
qianYue.setContent(java.net.URLEncoder.encode(sign1));
String json = HttpClient.post("http://ip:端口号/SmartCanteen/updatePerson.do", JsonUtils.objToString(qianYue));
if(StringUtil.isNotBlank(json)){
JSONObject jsonObject=JSONObject.parseObject(json,JSONObject.class);
String IsPass = String.valueOf(jsonObject.get("IsPass"));
if(IsPass.equals("true")){ //请求成功
//判断是否交互成功
String Obj = jsonObject.getString("Obj");
JSONObject jsonObject1=JSONObject.parseObject(Obj,JSONObject.class);
String successNum = jsonObject1.getString("successNum");
if(!successNum.equals("1")){
return JsonResultUtils.error("同步失败",0);
}else{
logger.info("同步成功");
}
}
}
//附带POST请求函数
public static String post(String url, String data) {
return post(url, null, data, null);
}
/**
* 发送 POST 请求 考虑添加一个参数 Map<String, String> queryParas:
* getHttpConnection(buildUrl(url, queryParas), POST, headers);
*/
public static String post(String url, Map<String, String> queryParas, String data, Map<String, String> headers) {
HttpURLConnection conn = null;
try {
conn = getHttpConnection(buildUrlWithQueryString(url, queryParas), POST, headers);
conn.connect();
OutputStream out = conn.getOutputStream();
out.write(data.getBytes(CHARSET));
out.flush();
out.close();
return readResponseString(conn);
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
if (conn != null) {
conn.disconnect();
}
}
}