一、RestTemplate概述
RestTemplate是Spring提供的一个用于访问Restful服务的客户端,是Spring的核心模块之一,目的是简化与远程HTTP服务的通信,并处理复杂的Restful资源请求,比如HTTP请求的GET、POST、PUT、DELETE、OPTIONS等,以及请求的参数及返回的数据格式化等过程。
二、RestTemplate post json的使用
在RestTemplate中,发送POST方法的请求,可以使用postForObject() 或者 postForEntity()方法进行发送。
其中,postForObject()是将请求成功后返回的ResponseBody封装成指定对象返回,而postForEntity()则会封装全部的HTTP响应信息,并不仅仅是响应内容。
在实际开发中,有时需要在请求体中发送JSON数据,这时候可以使用RestTemplate的postForObject()方法,并自行设置请求头参数Content-Type: application/json
三、RestTemplate post json的代码示例
public class HttpUtils { private static RestTemplate restTemplate; static { SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); factory.setConnectTimeout(10000); factory.setReadTimeout(10000); restTemplate = new RestTemplate(factory); } /** * 发送POST请求 * * @param url 请求地址 * @param request 请求参数 * @return Object 返回结果 */ public static Object doPost(String url, Object request) { HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); headers.setContentType(type); HttpEntity