IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Springboot中RestTemplate的用法 -> 正文阅读

[Java知识库]Springboot中RestTemplate的用法

引入pom依赖

? ?<!--? RestTemplate ?-->

<dependency>
? ? ? ?<groupId>org.apache.httpcomponents</groupId>
? ? ? ?<artifactId>httpclient</artifactId>
? ? ? ?<version>4.5.10</version>
?</dependency>

<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
? ? <groupId>com.alibaba</groupId>
? ? <artifactId>fastjson</artifactId>
? ? <version>1.2.60</version>
</dependency>

postForObject方法

@Resource
private RestTemplate restTemplate;


//方法中代码
String url = ltUrlProperties.getCalculateUrl();
            log.info("返回测算信息url======={}",url);
            Map<String, Object> errReturn =  new HashMap<>();
            errReturn.put("code","500");
            errReturn.put("message","测算失败");
            errReturn.put("versionNo",versionCodeAndUcode.getVersionCode());
            errReturn.put("uniqueId",versionCodeAndUcode.getUniqueId());
            JSONObject jsonObject = JSONUtil.parseObj(errReturn);
            String jsonStringErr  = JSONUtil.toJsonStr(jsonObject);
//   String jsonStringErr = JSON.toJSONString(ImmutableMap.of("userId", userId), SerializerFeature.WriteMapNullValue);
            log.info("发送给龙头的测算返回信息=========={}",jsonStringErr);
            HttpHeaders headersErr = new HttpHeaders();
            headersErr.setContentType(MediaType.APPLICATION_JSON_UTF8);
            headersErr.add("token", "我是token");
            HttpEntity<String> httpEntityErr = new HttpEntity<>(jsonStringErr, headersErr);
            String responseErr = this.restTemplate.postForObject(url, httpEntityErr, String.class);
            log.info("龙头接收返回信息=========={}",responseErr);

getForObject方法

@Resource
private RestTemplate restTemplate;

String url = appConfig.getC1tm().getPushToC2()+"f_code="+c1InterfaceApi.getProjectCode()+"&version="+c1InterfaceApi.getVersion();
JSONObject result = this.restTemplate.getForObject(url,JSONObject.class);
log.info("返回数据:{}",result.toString());

exchange方法之post

Map<String, Object> requestMap = ImmutableMap.of("Parameters", parameters);
        String jsonString = JSONObject.toJSONString(requestMap);

        String requestURL = url;
        log.info("=======调用接口: {}", requestURL);

        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);
        headers.add("Authorization", "Basic " + encodeBase64String(username, password));

        HttpEntity<String> httpEntity = new HttpEntity<>(jsonString, headers);
        ResponseEntity<String> responseEntity = this.restTemplate.exchange(requestURL, HttpMethod.POST, httpEntity, String.class);
        log.info("=======调用接口response: {}", responseEntity);

exchange方法之get

 StringBuilder strBu = new StringBuilder();
                strBu.append("?versionCode=").append(versionCode);
                strBu.append("&projectCode=").append(projectCode);
                String parseC3ExcelUrl = url;
                parseC3ExcelUrl = parseC3ExcelUrl + strBu.toString();
                String apiKey = this.config.getZncsConfig().getGaiaApiKey();
                HttpHeaders httpHeaders = new HttpHeaders();
                httpHeaders.add("X-Gaia-Api-Key",apiKey);
                HttpEntity<String> entity = new HttpEntity<>("parameters",httpHeaders);
                log.info("接口调用:"+parseC3ExcelUrl+"===="+apiKey);
                ResponseEntity<String> responseEntity = restTemplate.exchange(parseC3ExcelUrl, HttpMethod.GET,entity,String.class);
  log.info("接口响应:"+responseEntity.getStatusCode() + responseEntity.getBody());

x-www-form-urlencoded格式请求

String url = this.appConfig.getNcConfig().getTokenUrl();
        String clientId = this.appConfig.getNcConfig().getClientId();
        String clientSecret = this.appConfig.getNcConfig().getClientSecret();
        String token = null;
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
        MultiValueMap<String, String> param = new LinkedMultiValueMap<>(3);
        param.add("client_id", clientId);
        param.add("client_secret", clientSecret);
        param.add("grant_type", "client_credentials");
        HttpEntity<MultiValueMap<String, String>> httpEntity = new HttpEntity<>(param, headers);
        String result = restTemplate.postForObject(url, httpEntity, String.class);
        if (StringUtils.isNotBlank(result)) {
            JSONObject jsonResult = JSONObject.parseObject(result);

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-07-03 10:36:15  更:2022-07-03 10:36:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/3 18:09:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码