RestTemplate 发送post请求

小插曲---(如果你们公司想使用spring cloud进行微服务改造,本人提供完整的解决方案

GITHUB 地址 https://github.com/Mranxiaoranran/spring-cloud-sofa

QQ  2767855941)

/**
 * 采用POST请求,数据格式为 application/json,并且返回结果是JSON string
 * @param url
 * @param
 * @return
 */
public  static String postForJson(String url, JSONObject json){
    RestTemplate restTemplate = new RestTemplate();
    //设置Http Header
    HttpHeaders headers = new HttpHeaders();
    //设置请求媒体数据类型
    headers.setContentType(MediaType.APPLICATION_JSON);
    //设置返回媒体数据类型
    headers.add("Accept", MediaType.APPLICATION_JSON.toString());
    HttpEntity formEntity = new HttpEntity(json.toString(), headers);
    return restTemplate.postForObject(url, formEntity, String.class);
}

 

/**
 * 采用POST请求,数据格式为 application/x-www-form-urlencoded,并且返回结果是JSON string
 * @param url 请求地址
 * @param
 * @return
 */
public static String postInvocation(String url, MultiValueMap param) {
    RestTemplate restTemplate = new RestTemplate();
    //设置Http Header
    HttpHeaders headers = new HttpHeaders();
    //设置请求媒体数据类型
    headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
    //设置返回媒体数据类型
    HttpEntity> httpEntity = new HttpEntity<>(param, headers);
    return restTemplate.postForObject(url, httpEntity,String.class);
}

你可能感兴趣的:(RestTemplate 发送post请求)