spring RestTemplate submit json format data

 RestTemplate spring is encapsulated, easier to use.

 

receive:

@ApiOperation(value = "restTemplate测试", notes = "restTemplate测试", httpMethod = "POST", response = BaseResult.class)
    @ApiImplicitParams({})
    @RequestMapping(value = "/restTemplateTest.do", method = RequestMethod.POST)
    public @ResponseBody
    Map<String, Object> restTemplateTest(HttpServletRequest request, @RequestBody Map<String, Object> params) throws Exception {
        Map<String, Object> result = getParams(request);
        try {
            System.out.println(params);
            result.put("isLog", false);
            result.put("success", true);
            result.put("msg", "测试成功");
        } catch (Exception e) {
            e.printStackTrace();
            result.put("isLog", false);
            result.put("success", false);
            result.put("msg", "测试失败:" + e.getMessage());
        }
        return result;
    }

 

Note here can obtain annotation request body parameters @RequestBody

 

request:

 @ApiOperation(value = "restTemplate测试", notes = "restTemplate测试", httpMethod = "POST", response = BaseResult.class)
    @ApiImplicitParams({})
    @RequestMapping(value = "/testRestTemplate.do", method = RequestMethod.POST)
    public @ResponseBody
    Map<String, Object> testRestTemplate(HttpServletRequest request) throws Exception {
        Map<String, Object> result = new HashMap<>();
        try {
            SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
            factory.setReadTimeout(10000);//单位为ms
            factory.setConnectTimeout(10000);//单位为ms
            RestTemplate restTemplate = new RestTemplate(factory);
            String url = "http://192.168.71.179:8080/xxxx/restTemplateTest.do";
            HttpHeaders requestHeaders = new HttpHeaders();
            requestHeaders.add("Content-Type", "application/json;charset=utf-8");
            Map<String, Object> map = new HashMap<>();
            map.put("name", "福州陈冠希");
            HttpEntity<The Map <String, Object >> HttpEntity = new new the HttpEntity <the Map <String, Object >> (Map, the requestHeaders); 
// URL request method type PARAMETERS return type ResponseEntity
<the Map> = restTemplate.exchange Exchange (URL, HttpMethod . .POST, HttpEntity, the Map class ); the Map body = exchange.getBody (); System.out.println (JSON.toJSONString (body)); result.put ( "isLog", to false ); result.put ( "Success ", to true ); result.put ( " MSG "," successful test " ); } the catch (Exception e) { e.printStackTrace(); result.put("isLog", false); result.put("success", false); result.put("msg", "测试失败:" + e.getMessage()); } return result; }

Guess you like

Origin www.cnblogs.com/chenmz1995/p/12179551.html