请求方法(参考)
```java
@GetMapping("/sendMessage")
public String sendMessage(HttpServletRequest request) throws Exception{
String fileName = "d:\\temp\\z1.png";
String url = "https://test.yxer-park.com/api/ykapi/contract/addContracts";
File fileAttach =new File(fileName);
//渠道身份的唯一标识
String appKey="999726";
//业务流水号 唯一标识
String serialNumber="1000001";
//合同编号
String contractNumber="HT00001";
//项目,项目名称唯一 请求需要修改
String project="测试项目1";
//合同名称
String contractName = "合同名称";
//合同甲方名称
String contractPartya = "A企业";
//合同乙方名称
String contractPartyb = "测试企业";
//结算费率1基数 个人税前、税后金额、汇总代开
String settlementBase = "税后金额";
//结算费率
String settlementProportion = "6.25";
String tenantId = "999726";
//渠道身份的唯一密钥
String appSecret = "44c8f331fe174114810f6fca938d4826";
//时间戳
String timestamp = new Long(System.currentTimeMillis()).toString();
String sign_before="appKey="+appKey+"&serialNumber="+serialNumber+"&contractNumber="+contractNumber;
sign_before+="&contractPartya="+contractPartya+"&contractPartyb="+contractPartyb+"&settlementBase="+settlementBase;
sign_before+="&settlementProportion="+settlementProportion+"&tenantId="+tenantId+"&appSecret="+appSecret+"×tamp="+timestamp;
String sign = CryptUtil.encrypt(sign_before, appSecret);
Map<String, String> paramsMap = new HashMap<String, String>();
paramsMap.put("appKey",appKey);
paramsMap.put("serialNumber",serialNumber);
paramsMap.put("contractNumber",contractNumber);
paramsMap.put("project",project);
paramsMap.put("contractName",contractName);
paramsMap.put("contractPartya",contractPartya);
paramsMap.put("contractPartyb",contractPartyb);
paramsMap.put("settlementBase",settlementBase);
paramsMap.put("settlementProportion",settlementProportion);
paramsMap.put("tenantId",tenantId);
paramsMap.put("sign",sign);
return sendHttpPostInfo(url, paramsMap, fileAttach);
}
public String sendHttpPostInfo(String httpUrl, Map<String, String> maps, File fileAttach) {
// 创建httpPost
HttpPost httpPost = new HttpPost(httpUrl);
MultipartEntityBuilder meBuilder = MultipartEntityBuilder.create();
meBuilder.setCharset(Charset.forName("utf-8"));
meBuilder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
for (String key : maps.keySet()) {
meBuilder.addPart(key, new StringBody(maps.get(key), ContentType.create(ContentType.TEXT_PLAIN.getMimeType(),"utf-8")));
}
FileBody fileBody = new FileBody(fileAttach);
meBuilder.addPart("contractModelAttach", fileBody);
HttpEntity reqEntity = meBuilder.build();
httpPost.setEntity(reqEntity);
return sendPost(httpPost);
}
/**
* 发送Post请求
* @param httpPost
* @return
*/
private String sendPost(HttpPost httpPost) {
RequestConfig requestConfig = RequestConfig.custom()
.setSocketTimeout(15000)
.setConnectTimeout(15000)
.setConnectionRequestTimeout(15000)
.build();
CloseableHttpClient httpClient = null;
CloseableHttpResponse response = null;
HttpEntity entity = null;
String responseContent = null;
try {
// 创建默认httpClient实例.
httpClient = HttpClients.createDefault();
httpPost.setConfig(requestConfig);
// 执行请求
response = httpClient.execute(httpPost);
entity = response.getEntity();
responseContent = EntityUtils.toString(entity, "UTF-8");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
// 关闭连接,释放资源
if (response != null) {
response.close();
}
if (httpClient != null) {
httpClient.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return responseContent;
}
```