RestTemplate如何发送json请求呢?
下文笔者讲述RestTemplate发送json请求的方法及示例分享,如下所示
RestTemplate简介
RestTemplate是从Spring3.0开始支持的一个HTTP请求工具 RestTemplate提供常见REST请求方案的模版 如: GET请求 POST请求 PUT请求 DELETE请求及一些通用的请求执行方法exchange及execute RestTemplate继承自InterceptingHttpAccessor 且实现RestOperations接口 其中RestOperations接口定义基本RESTful操作 这些操作在 RestTemplate 中都得到了实现。
RestTemplate简单示例
@RestController
public class TestController
{
@RequestMapping(value = "testPost", method = RequestMethod.POST)
public ResponseBean testPost(@RequestBody RequestBean requestBean)
{
ResponseBean responseBean = new ResponseBean();
responseBean.setRetCode("0000");
responseBean.setRetMsg("succ");
return responseBean;
}
}
//使用RestTemplate访问该服务
//restTemplate访问restful接口(url, requestBean, ResponseBean.class)
//这三个参数分别代表 请求地址、请求参数、HTTP响应转换被转换成的对象类型
//请求地址
String url = "http://localhost:8080/testPost";
//入参
RequestBean requestBean = new RequestBean();
requestBean.setTest1("1");
requestBean.setTest2("2");
requestBean.setTest3("3");
RestTemplate restTemplate = new RestTemplate();
ResponseBean responseBean = restTemplate.postForObject(url, requestBean, ResponseBean.class);
RestTemplate发送json请求的示例
JSONObject json = new JSONObject();
json.put("train_date", train_date);
json.put("from_station", fromStationCode);
json.put("to_station", toStationCode);
json.put("logFlag", logFlag);
HttpHeaders headers = new HttpHeaders();
MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
headers.setContentType(type);
headers.add("Accept", MediaType.APPLICATION_JSON.toString());
HttpEntity<String> formEntity = new HttpEntity<String>(json.toString(), headers);
String s= restTemplate.postForEntity(url,formEntity,String.class).getBody();
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


