restTemplate Post请求——(参数+body)请求

    RestTemplate以更优雅的代码结构进行http请求。在post请求中,总会遇到参数和body同是请求的情况。其实post的请求大体上可以分为 header、query、body。

    所以解决问题的思路就是三部分分别设置参数。

  
     
        Map body = new HashMap();
        body.put("1","1");
        body.put("2",2);

       String jsonData = JSON.toJSONString(body);
        MultiValueMap map = new LinkedMultiValueMap<>();
        map.add("1", 1);
        map.add("2", "2");
        map.add("3", "3");
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);
        HttpEntity request = new HttpEntity<>(jsonData, headers);
        UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(Url + "/rack").queryParams(map);
        ResponseEntity responseEntity = template.postForEntity(builder.toUriString(), request, JSONObject.class);
        System.out.println(builder.toUriString());
        System.out.println(responseEntity);

 

你可能感兴趣的:(java)