1.form-data
form-data 主要是以 键值对的形式 来上传参数,同时参数之间以 &分隔符 分开,同时也可以上传文件,文件上传要指定文件类型。
2.x-www-form-urlencode
这种参数的传递与form-data最大的区别是,x-www-form-urlencode只能是以键值对的形式传参,不能上传文件。
键值对请求案例:
public boolean sendEmail(String emailFrom, String emailSubject, String emailText, List<String> emailTo) {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
Map<String, Object> param = new HashMap<>();
param.put("systemId", "20");
param.put("mailFrom", emailFrom); // 发件人
param.put("mailSubject", emailSubject); // 邮件主题
param.put("mailText", emailText); // 邮件内容
param.put("mailTo", emailTo); // 收件人
LOG.info("请求发送邮件,URL:{},参数:{}", emailBaseUrl, param);
try {
String requestMsg = HttpUtils.post(emailBaseUrl, param);
LOG.info("请求SGS发送邮件,URL:{},回参:{}", emailBaseUrl, requestMsg);
if (requestMsg != null && Objects.equals(requestMsg, "true")) {
return Boolean.TRUE;
}
} catch (HttpServerErrorException e) {
LOG.error(e.getResponseBodyAsString());
} catch (ResourceAccessException e) {
LOG.error(e.getMessage());
}
return Boolean.FALSE;
}