美文网首页
RestTemplate post 方法

RestTemplate post 方法

作者: 陈亮2019 | 来源:发表于2019-03-21 15:51 被阅读0次

    用restTemplate 的post传递参数时用以下方法设置:

    RestTemplate resetTemplate = new RestTemplate();
    MultiValueMap<String, String> requestMap= new LinkedMultiValueMap<String, String>();
    requestMap.add("client_id", "123");
    requestMap.add("app_code", "abc");
    HttpEntity requestEntity = new HttpEntity(requestMap,null);
    String responseAsString = resetTemplate.postForObject(url,requestEntity,String.class);
    

    参数是放在HttpEntity中发送,与get方法不一样。如果要post一个json串,则使用如下方式:

    RestTemplate resetTemplate = new RestTemplate();
    MultiValueMap<String, String> requestMap= new LinkedMultiValueMap<String, String>();
    requestMap.add("client_id", "123");
    requestMap.add("app_code", "abc");
    // 必须加上header说明
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
    Gson gson = new Gson();     
    HttpEntity<String> requestEntity = new HttpEntity<String>(gson.toJson(requestMap),headers);
    String responseAsString = resetTemplate.postForObject(url,requestEntity,String.class);
    

    这时在服务器端应该用recv(@RequestBody App app)来接收参数,类App应包含属性client_id,app_code。

    如果服务器端返回的是一个二进制流,则用如下方法处理:

    ResponseEntity<byte[]> result = resetTemplate.getForEntity(url,byte[].class);
    byte[] data = result.getBody();
    

    相关文章

      网友评论

          本文标题:RestTemplate post 方法

          本文链接:https://www.haomeiwen.com/subject/qvxcvqtx.html