Java发送请求到第三方(RestTemplate方式)

这篇具有很好参考价值的文章主要介绍了Java发送请求到第三方(RestTemplate方式)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

公共方法

 private HttpHeaders createHeaders() {
        HttpHeaders headers = new HttpHeaders();
        headers.add("Authorization", "Bearer token");
        headers.add("User-Agent", "Mozilla/5.0");
        return headers;
    }

    private RestTemplate createRestTemplate() {
        RestTemplate restTemplate = new RestTemplate();
        List<HttpMessageConverter<?>> messageConverters = restTemplate.getMessageConverters();
        for (HttpMessageConverter<?> messageConverter : messageConverters) {
            if (messageConverter instanceof StringHttpMessageConverter) {
                ((StringHttpMessageConverter) messageConverter).setDefaultCharset(StandardCharsets.UTF_8);
            }
        }
        return restTemplate;
    }

Get请求

    private Map<String, Object> sendGetRequest() throws Exception {
        HttpHeaders headers = createHeaders();
        // 可以在这里再添加请求头
        HttpEntity entity = new HttpEntity(headers);

        RestTemplate restTemplate = createRestTemplate();
        String url ="http://localhost:8080/...";
        ResponseEntity<String> responseEntity = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);

        int statusCodeValue = responseEntity.getStatusCodeValue();
        String responseBody = responseEntity.getBody();

        ObjectMapper objectMapper = new ObjectMapper();
        return objectMapper.readValue(responseBody, Map.class);
    }

Post请求

    private Map<String, String> sendPostRequest(Object requestObject) throws Exception {
        HttpHeaders headers = createHeaders();
        // 可以在这里再添加请求头
        headers.setContentType(MediaType.APPLICATION_JSON);

        ObjectMapper objectMapper = new ObjectMapper();
        String requestJson = objectMapper.writeValueAsString(requestObject);
        HttpEntity entity = new HttpEntity(requestJson, headers);

        RestTemplate restTemplate = createRestTemplate();
        String url ="http://localhost:8080/...";
        ResponseEntity<String> responseEntity = restTemplate.exchange(url, HttpMethod.POST, entity, String.class);

        int statusCodeValue = responseEntity.getStatusCodeValue();
        String responseBody = responseEntity.getBody();

        Map<String, String> map = objectMapper.readValue(responseBody, Map.class);

        if (statusCodeValue == 200 && Integer.parseInt(String.valueOf(map.get("status"))) >= 0) {
            return map;
        }

        return null; // 请求失败时返回 null 或者抛出异常
    }

文章来源地址https://www.toymoban.com/news/detail-688647.html

到了这里,关于Java发送请求到第三方(RestTemplate方式)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java对接第三方接口的三种方式

    在日常工作中,经常需要跟第三方系统对接,我们做为客户端,调用他们的接口进行业务处理,常用的几种调用方式有: 1.原生的Java.net.HttpURLConnection(jdk); 2.再次封装的HttpClient、CloseableHttpClient(Apache); 3.Spring提供的RestTemplate; 当然还有其他工具类进行封装的接口,比

    2024年04月28日
    浏览(42)
  • Java调用第三方http接口的常用方式

    前言 一、通过JDK网络类Java.net.HttpURLConnection 二、通过apache common封装好的HttpClient 三、通过Spring的RestTemplate 总结 今天项目需要接口互相调用,就看了一下这几个调用的方式 通过java.net包下的原生java.api提供的http请求 使用步骤: 通过统一的资源定位器(java.net.URL)获取连接器(java.

    2024年02月08日
    浏览(49)
  • java通过httpclient携带请求头参数获取第三方文件流接口并实现实现文件下载

    创建httpclient 请求,并在header携带指定key,也可根据实际需要携带token等信息。获取第三方接口返回的文件输入流并写到本地response中,实现返回文件流,前端通过js的a标签进行下载。 代码如下: 前端js代码

    2024年02月16日
    浏览(36)
  • 【196】JAVA8 用 DOM 方式的 API 解析XML文件,无需引入第三方依赖。

    JAVA8 可以使用标准的 DOM 方式的 API 来编写代码解析 XML 文件,无需引入第三方依赖。下面是两个测试用的 XML 文件: test.xml test2.xml 负责接收所有信息的 AllDataDTO.java 负责接收用户信息的 AllDataUserDTO.java 处理 XML 文件的工具类,XmlUtils.java 用于测试效果的类 Main.java 输出结果:

    2024年01月22日
    浏览(32)
  • 泛微OA获取流程附件地址,发送邮件或上传到第三方系统中

    在泛微的流程开发当中,有些流程的数据、附件要上传到其它平台,与其它平台相互集成对接, 一般是在写Action事件时,就会自动把数据及附件上传到其它平台,以下内容是经过正常使用获取流程附件的业务 示例:泛微OA中流程附件

    2024年02月15日
    浏览(51)
  • 请求第三方Https地址忽略SSL证书校验

    说明:个人使用记录 需要在请求之前忽略ssl协议,这里是直接使用静态方法初始化时就执行了 也需要在请求接口之前忽略SSL

    2024年04月10日
    浏览(34)
  • 【iOS】—— 实现WebSocket发送消息(SocketRocket第三方库的使用和解析)

    偶然之间了解到了利用WebSocket实现后端和前端的相互发送消息,就查了查在iOS里这个东西该怎么写,用舍友写的接口简单实现了两个用户的通信。 WebSocket 是一种在 Web 应用程序中实现双向通信的协议。它允许客户端和服务器之间建立一个持久性的连接,以便可以在任何时间点

    2024年02月15日
    浏览(43)
  • Spring xml 方式整合mybatis 第三方框架

    MyBatis提供了mybatis-spring.jar专门用于两大框架的整合。 ①:第一步: 导入MyBatis整合Spring的相关坐标; ②:第二步: 编写Mapper和Mapper.xml ③:第三步: 配置SqlSessionFactoryBean和MapperScannerConfigurer ④:第四步: 编写测试代码

    2024年02月13日
    浏览(44)
  • Android Studio引用第三方库的方式

    title: 大小端详解 date: 2023-06-06 21:01:24 comments: true #是否可评论 toc: true #是否显示文章目录 categories: #分类 - gradle - android studio tags: #标签 - gradle - android studio summary: android stduio 导入第三方库方式 这里描述的第三方库文件格式指的是 so aar so库介绍一种方法 Aar介绍两种方法 libs目录

    2024年02月08日
    浏览(40)
  • OpenAi最简洁的Java流式返回接入方式,没有第三方依赖,只需要使用Spring Boot即可!轻松构建你的带有聊天记忆、画图功能的chatgpt!

    OpenAi最简洁的Java流式返回接入方式,没有第三方依赖,只需要使用Spring Boot即可!轻松构建你的带有聊天记忆、画图功能的chatgpt! GitHub - NiuXiangQian/chatgpt-stream: OpenAi最简洁的Java流式返回接入方式,没有第三方依赖,只需要使用Spring Boot即可!轻松构建你的带有聊天记忆、画图

    2024年02月12日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包