【JAVA springframework.http】如何发送HTTP请求

Springboot之restTemplate

java 复制代码
public Result doHandlePostJson(String restUri, String jsonData)
            throws Exception {

        Result result = null;

        try {

            // logger记录
            log.info("doHandlePostJson request restUri:" + restUri
                    + " sendData:" + jsonData);

            HttpHeaders headers = new HttpHeaders();
            headers.setContentType(MediaType.APPLICATION_JSON);
            HttpEntity request = new HttpEntity(jsonData, headers);

            // 发送http服务请求
            ResponseEntity<String> response = restTemplate.postForEntity(
                    restUri, request, String.class);

            // 判断返回结果
            if (response.getStatusCode() == HttpStatus.OK) {

                // logger记录
                log.debug("doHandlePostJson restUri response success,interfaceUri:"
                        + restUri);

                // 获得返回结果
                String repData = response.getBody();

                // logger记录
                log.info("doHandlePostJson restUri response success,return data:"
                        + repData);

                // 返回成功
                result = Result.succeed(repData, "");

            } else {

                // logger记录
                log.info("doHandlePostJson restUri response error,interfaceUri:"
                        + restUri + " http status:" + response.getStatusCode());

                // 返回产品Gateway通讯异常错误
                result = Result.failed("请求外部系统异常");
            }

        } catch (ResourceAccessException e) {

            // logger记录
            log.error("doHandlePostJson restUri ResourceAccessException:", e);

            // 返回通讯异常错误
            result = Result.failed("请求外部系统超时");

        } catch (Exception e) {

            // logger记录
            log.error("doHandlePostJson restUri Exception:", e);

            // 返回通讯异常错误
            result = Result.failed("请求外部系统未知异常");
        } finally {

            // 关闭
        }

        return result;
    }

package org.springframework.http;

HttpHeaders

public class HttpHeaders implements MultiValueMap<String, String>, Serializable

HttpEntity

public class HttpEntity

HttpStatus

public enum HttpStatus

相关推荐
别动我齐刘海40 分钟前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
code2cat2 小时前
Java进阶篇之AtomicLongFieldUpdater:把累计额度留在对象字段中
java·cas·并发编程
WeiXin_DZbishe2 小时前
基于springboot城市公交实时运营与调度系统-计算机毕设 附源码【课程设计】66173
java·vue.js·spring boot·后端·python·php·课程设计
泡茶喝茶写代码2 小时前
A股量化数据工程:从 REST 接口到策略信号(第 18 篇):放量缩量异动扫描
java·python·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
wewowilling2 小时前
认识微服务
java·运维·微服务·springcloud
代码什么用3 小时前
Java Web 7-10
java·servlet
蜗牛互联网4 小时前
GPT-6 与 Intelligent UI:从回答到可审计操作的产品迁移
java·人工智能·后端
SL_staff5 小时前
运维救火实录:钉钉考勤API变更引发工资计算异常,我们用JVS-Logic可视化逻辑引擎实现分钟级热修复
java·mysql·全栈
SunnyDays10115 小时前
Java 查找并高亮 Word 文字:精确查找及正则表达式模糊查找
java·查找文字·word 文档·高亮文字·正则匹配查找·模糊查找