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();
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。