SpringBoot RestTemplate远程调用总结

1、get请求

复制代码
@GetMapping("/searchEntryRecordPageList")
public JSONObject searchEntryRecordPageList(@RequestParam Map<String,Object> params){
    HttpHeaders requestHeaders = new HttpHeaders();
    requestHeaders.add("Authorization","Bearer "
    + String.valueOf(params.get("access_token")));
    MultiValueMap<String, Object> entryRecordParam = 
    new LinkedMultiValueMap<String, Object>();
    entryRecordParam.add("offset",params.get("offset"));
    entryRecordParam.add("limit",params.get("limit"));
    entryRecordParam.add("yzOpenId",params.get("yzOpenId"));
    HttpEntity<MultiValueMap<String, Object>> requestEntity = 
    new HttpEntity<MultiValueMap<String, Object>>(entryRecordParam, requestHeaders);
    ResponseEntity<Map> response = null;
    try {
        response =         restTemplate.exchange(yzymUrl+"/app/entryRecord/searchEntryRecordPageList",         HttpMethod.POST, requestEntity, Map.class);
    }catch (Exception e){
        return exceptionObj(e.getMessage());
    }
    logger.info(JSONObject.toJSONString(response.getBody()));
    return (JSONObject) JSONObject.toJSON(response.getBody());
}

@GetMapping("/searchCheckResultByEntryRecordId")
public JSONObject searchCheckResultByEntryRecordId(@RequestParam 
Map<String,Object> params){
    HttpHeaders requestHeaders = new HttpHeaders();
    requestHeaders.add("Authorization","Bearer "
    + String.valueOf(params.get("access_token")));
    MultiValueMap<String, Object> entryRecordParam = 
    new LinkedMultiValueMap<String, Object>();
    HttpEntity<MultiValueMap<String, Object>> requestEntity = 
    new HttpEntity<MultiValueMap<String, Object>>(entryRecordParam, requestHeaders);
    ResponseEntity<Map> response = null;
    try {
        response =     restTemplate.exchange(yzymUrl+"/app/entryRecord/searchCheckResultByEntryRecordId?entryRecordId="+params.get("entryRecordId"), 
HttpMethod.GET, requestEntity, Map.class);
    }catch (Exception e){
        return exceptionObj(e.getMessage());
    }
    logger.info(JSONObject.toJSONString(response.getBody()));
    return (JSONObject) JSONObject.toJSON(response.getBody());
}

2、post请求

复制代码
@PostMapping("/batchAddCart")
public JSONObject addCart(@RequestParam Map<String,Object> params){
    HttpHeaders requestHeaders = new HttpHeaders();
    requestHeaders.add("Authorization","Bearer "
    + String.valueOf(params.get("access_token")));
    MultiValueMap<String, Object> entryRecordParam = 
    new LinkedMultiValueMap<String, Object>();
    entryRecordParam.add("yzOpenId",params.get("yzOpenId"));
    entryRecordParam.add("cartParams",params.get("cartParams"));
    HttpEntity<MultiValueMap<String, Object>> requestEntity = 
    new HttpEntity<MultiValueMap<String, Object>>(entryRecordParam, requestHeaders);
    ResponseEntity<Map> response = null;
    try {
        response = restTemplate.exchange(yzymUrl+"/app/yzGoods/batchAddCart",         HttpMethod.POST, requestEntity, Map.class);
    }catch (Exception e){
        return exceptionObj(e.getMessage());
    }
    logger.info(JSONObject.toJSONString(response.getBody()));
    return (JSONObject) JSONObject.toJSON(response.getBody());
}
相关推荐
折哥的程序人生 · 物流技术专研7 小时前
Java面试85题图解版 · 特别篇:2026后端高频面试题复盘(算法底层逻辑+高并发架构设计全解析,附Java实战代码)
java·网络·数据库·算法·面试
一条泥憨鱼7 小时前
【Redis】数据类型和常用命令
java·数据库·redis·后端·缓存
云烟成雨TD8 小时前
Spring AI Alibaba 1.x 系列【78】沙箱(Sandbox)
java·人工智能·spring
程序员二叉8 小时前
【Java】 异常高频面试题精讲 | 易错点+对比总结
java·开发语言·面试
周航宇JoeZhou8 小时前
JB3-9-SpringAI(二)
java·ai·agent·多智能体·调度·智能体·观察
好家伙VCC8 小时前
Web Components主题热切换方案揭秘
java·前端
慕木沐8 小时前
Google ADK Java 1.0版本 核心机制与实战 Demo
java·开发语言·python
焦虑的说说9 小时前
秒杀系统设计方案
java
许彰午9 小时前
30_Java Stream流操作全解
java·windows·python
qq_25183645710 小时前
基于java Web网络订餐系统设计与实现 源码文档
java·开发语言·前端