一 接口說明
二 實現
### 2.1發送通知給外系統
url="http://ip:port/xxxx/standardOut/addStandard";
Map<String, String> parameters=new HashMap<>();
parameters.put("standardName", findOne.getStandardName());
parameters.put("standardType", findOne.getCategory().getName());
parameters.put("standardCode", findOne.getStandardCode());
parameters.put("standardId", findOne.getId());
parameters.put("url", this.fileUrl+findOne.getFileId()+".html");
StringBuffer sb = new StringBuffer();
for (String name : parameters.keySet()) {
sb.append("\""+name+"\"").append(":").append("\""+parameters.get(name)+"\"").append(",");
}
String temp_params = sb.toString();
String param = "\"[{"+ temp_params.substring(0, temp_params.length() - 1)+"}]\"";
Map<String, Object> map=new HashMap<>();
map.put("param", param);
String sendPost =HttpUtils.post(url,map);
this.logger.info("外系統返回結果-------------------------------"+sendPost);
### 2.2HttpUtils.post接口
private static Logger log = Logger.getLogger(HttpUtils.class);
private static HttpClient client = new HttpClient();
public synchronized static String post(String url, Map<String, Object> data)
{
return post(url, data, "UTF-8");
}
public static String post(String url, Map<String, Object> data, String encoding)
{
PostMethod method = new PostMethod();
setCharset(method, encoding);
try
{
URI uri = new URI(url, true, encoding);
method.setURI(uri);
} catch (Exception e) {
log.error("uri create error.", e);
return null;
}
for (Iterator localIterator = data.keySet().iterator(); localIterator.hasNext(); ) {
String key = (String)localIterator.next();
//method.addParameter(key, StringUtil.toString(data.get(key)));
method.addParameter(key,data.get(key).toString());
}
try
{
int statusCode = client.executeMethod(method);
if (statusCode == 200)
{
return method.getResponseBodyAsString();
}
log.error("execute method error:" + statusCode);
return String.valueOf(statusCode);
}
catch (Exception statusCode) {
log.error("execute method error.", statusCode);
}
return null;
}
private static void setCharset(HttpMethod method, String encoding)
{
HttpMethodParams params = method.getParams();
params.setHttpElementCharset(encoding);
params.setCredentialCharset(encoding);
params.setContentCharset(encoding);
}