RestTemplate post请求传参方式

人生之路不会是一帆风顺的,我们会遇上顺境,也会遇上逆境,在所有成功路上折磨你的,背后都隐藏着激励你奋发向上的动机,人生没有如果,只有后果与结果,成熟,就是用微笑来面对一切小事。

导读:本篇文章讲解 RestTemplate post请求传参方式,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

RestTemplate post请求方式主要分为下面几种:

一、postForObject

        RestTemplate template = new RestTemplate();
        String url = "http://localhost/test";
        MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<String, Object>();
        paramMap.add("name", "xxx");
        Map respnose = template.postForObject(url, paramMap, Map.class);
        Assert.assertNotNull(respnose);

二、postForEntity

        RestTemplate template = new RestTemplate();
        String url = "http://localhost/test";
        MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<String, Object>();
        paramMap.add("name", "xxx");
        HttpHeaders headers = new HttpHeaders();
        HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<MultiValueMap<String, Object>>(paramMap,headers);
        ResponseEntity<Map> response2 = template.postForEntity(url, httpEntity, Map.class);
        Assert.assertEquals(getStatusCode,200);

三、exchange

        RestTemplate template = new RestTemplate();
        String url = "http://localhost/test";
        MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<String, Object>();
        paramMap.add("name", "xxx");
        ResponseEntity<Map> response3 = template.exchange(url, HttpMethod.POST, httpEntity, Map.class);
        Assert.assertEquals(getStatusCode,200);

 

package com.atguli.common.demo;
 
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.*;
import org.springframework.web.client.RestTemplate;
 
import java.util.ArrayList;
 
/**
 * User: ldj
 * Date: 2022/3/25
 * Time: 1:30
 * Description: restTemplate
 */
@Slf4j
public class RestTemplateDemo {
    public static void main(String[] args) throws JsonProcessingException {
 
        String url = “http://locahost:8080/test”;
        
        RestTemplate restTemplate = new RestTemplate();
 
        HttpHeaders headers = new HttpHeaders();
        MediaType type = MediaType.parseMediaType(“application/json; charset=UTF-8”);
        headers.setContentType(type);
        headers.add(“Accept”, MediaType.APPLICATION_JSON.toString());
        
        ArrayList<Object> similarList = new ArrayList<>();
        similarList.add(“1”);
        similarList.add(“2”);
        similarList.add(“3”);
 
        JSONObject requestMap = new JSONObject();
        requestMap.put(“name”, “ldj”);
        requestMap.put(“age”, “15”);
        requestMap.put(“similarList”,similarList);
 
        HttpEntity<JSONObject> entity = new HttpEntity<>(requestMap, headers);
 
        ObjectMapper objectMapper = new ObjectMapper();
        try {
            String similarJSON = objectMapper.writeValueAsString(requestMap);
            log.info(“similarJSON:{}”,similarJSON);
        } catch (Exception e) {
            e.printStackTrace();
        }
 
        //使用JSONObject,不需要创建实体类VO来接受返参,缺点是别人不知道里面有哪些字段,即不知道有那些key
        JSONObject body1 = restTemplate.postForObject(url, entity, JSONObject.class);
        log.info(“body1:{}”,objectMapper.writeValueAsString(body1));
 
        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, requestMap, JSONObject.class);
        JSONObject body2 = responseEntity.getBody(); //响应体
        HttpStatus statusCode = responseEntity.getStatusCode(); //状态码
        HttpHeaders headers1 = responseEntity.getHeaders();//获取到头信息
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/124722.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!