实现get/post请求调用第三方接口

使用http协议中的get以及post方式对接第三方平台在工作中很常见,我所展示的已是将方法归纳好,只需要按照对接方案传递对应的参数即可。

下载地址 https://download.csdn.net/download/qq_48856537/86266035?spm=1003.2166.3001.6637.1=

post对接第三方接口

  1. 通常post协议传参大多数都是通过请求体来实现参数传递,如图所示,将对应数据进行处理实现传参。
    实现get/post请求调用第三方接口
通过请求体传递参数

代码如下:

        Map map = new HashMap<>();
        Map map1 = new HashMap<>();
        map.put("touser",maps.get("code"));
        map.put("toparty", "");
        map.put("totag", "");
        map.put("msgtype", "text");
        map.put("agentid", "1000236");
//        map.put("agentid", "1000266");
        map1.put("content", "行动项:【"+maps.get("action_project_name")+"】待填报");
        map.put("text", map1);
        RequestEntity requestEntity = new StringRequestEntity(JSONObject.toJSONString(map), "application/json", "utf-8");
  1. post方式的基础工具类如下所示:
    实现get/post请求调用第三方接口

代码如下:

    public static String sendPost(String urlParam, Map maps) throws HttpException, IOException {
        // 创建httpClient实例对象
        HttpClient httpClient = new HttpClient();
        // 设置httpClient连接主机服务器超时时间:15000毫秒
        httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(150000);
        // 创建post请求方法实例对象
        PostMethod postMethod = new PostMethod(urlParam);
        // 设置post请求超时时间
        postMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 6000000);
        postMethod.addRequestHeader("Content-Type", "application/json;charset=utf-8");
//        =======================================================================
        //result接收响应结果;
        String result=postMethod.getResponseBodyAsString();

        postMethod.releaseConnection();
        return result;
    }

get对接第三方接口

  1. get方式的基础工具类如下所示:
    实现get/post请求调用第三方接口
    代码如下:
    public static String sendGet(String urlParam) throws HttpException, IOException {
        // 创建httpClient实例对象
        HttpClient httpClient = new HttpClient();
        // 设置httpClient连接主机服务器超时时间:15000毫秒
        httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(150000);
        // 创建GET请求方法实例对象
        GetMethod getMethod = new GetMethod(urlParam);
        // 设置post请求超时时间
        getMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 60000);
        getMethod.addRequestHeader("Content-Type", "application/json");

        httpClient.executeMethod(getMethod);

        String result = getMethod.getResponseBodyAsString();
        getMethod.releaseConnection();
        return result;
    }

Original: https://www.cnblogs.com/moxiaolong/p/16532821.html
Author: Sikz
Title: 实现get/post请求调用第三方接口

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/589820/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 新增一个Redis 从节点为什么与主节点的key数量不一样呢?

    过期键删除策略 (1) 惰性删除 放任键过期不管,但是每次从键空间中获取键时,都检查取得的键是否过期,如果过期的话,就删除该键;如果没有过期,就返回该键。 该策略对 CPU 来说是…

    Java 2023年6月16日
    0108
  • 前端(Css学习) 2

    层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言…

    Java 2023年6月5日
    077
  • a configuration error occured during startup.please verify the preference field

    tomcat启动时报错:a configuration error occured during startup.please verify the preference fiel…

    Java 2023年6月5日
    058
  • Java异常处理

    异常处理 编程错误可以分成三类:语法错误、逻辑错误和运行错误。 语法错误(也称编译错误)是在编译过程中出现的错误,由编译器检查发现语法错误。 逻辑错误指程序的执行结果与预期不符,可…

    Java 2023年6月9日
    059
  • SpringBoot技术优点

    一、SpringBoot的优势,使用它跟之前的对比,有什么改进。 1、什么是SpringBoot 答:Springboot是一个快速整合第三方框架,简化xml,内置Http服务器也…

    Java 2023年5月30日
    090
  • MySQL十四:单表最大2000W行数据

    转载~ 在互联网技术圈中有一个说法: 「MySQL 单表数据量大于 2000 W行,性能会明显下降」。网传这个说法最早由百度传出,真假不得而知。但是却成为了行业内一个默认的标准。 …

    Java 2023年6月8日
    096
  • Spring Cloud Gateway配置自定义异常返回

    0. 前言 最近搞微服务的全家桶,用到的Spring Cloud Gateway 这个组件。需要对这个网关抛出的异常进行自定义。网关的异常处理跟单体SpringBoot的全局异常处…

    Java 2023年5月30日
    056
  • Webpack的使用

    全局安装Webpack(尽量在项目目录中执行cmd命令) npm install -g webpack webpack-cli 在项目目录的js目录中创建几个js文件(之间的关联任…

    Java 2023年6月13日
    081
  • 常用的线程池介绍

    线程池: 简介:线程池是用来统一管理线程的,在 Java 中创建和销毁线程都是一件消耗资源的事情,线程池可以重复使用线程,不再频繁的创建、销毁线程。 线程池的作用是提高系统的性能和…

    Java 2023年6月5日
    063
  • java学习之MybBaits

    0x00前言 我前面使用的jdbc和jdbc的工具类集成的但是它们在少部分代码的情况下会会简单,但是以后如果项目较大jdbc的固定代码会很难维护,如果使用框架会简单很多,也标志着j…

    Java 2023年6月13日
    072
  • MyBatis(二四):缓存——一级缓存

    MyBatis的缓存分为一级缓存和二级缓存。 先看一下MyBatis官方文档给出的说明: MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制。 为了使它…

    Java 2023年6月15日
    069
  • vue学习笔记

    数据验证 当组件需要传递数据时,推荐进行数据验证。当传输的数据类型和要求不一致时,会在控制台弹出警告。 Vue.compoent(‘my-component’, { props: …

    Java 2023年6月9日
    074
  • Apache Flink系列-④有状态函数

    有状态函数:独立于平台的有状态无服务器堆栈 这是一种在现代基础设施上创建高效、可扩展且一致的应用程序的简单方法,无论规模大小。 有状态函数是一种API,它通过为无服务器架构构建的运…

    Java 2023年6月5日
    049
  • Spring-Cloud-Alibaba系列教程(一)Nacos初识

    前言 在 2020&#x5E74;即将开启SpringCloudAlibaba的专题,希望2020年共同学习进步。 学习资料 文档 Naco文档 程序猿DD Spring …

    Java 2023年6月10日
    087
  • CentOS-7配置fastDFS文件服务器和安装Nginx

    配置步骤实在是很繁琐,听我慢慢道来! 主要是配置管理(tracker)和存储(storage)返回地址样式 –> 域名/组名/磁盘名/目录名/文件名 &#8211…

    Java 2023年6月15日
    063
  • 吃透SpringBoo的这些t知识,你就已经超过90%的Java面试者了

    做 Java 开发,没有人敢小觑 Spring Boot 的重要性,现在出去面试,无论多小的公司 or 项目,都要跟你扯一扯 Spring Boot,扯一扯微服务,如果啃不下来,很…

    Java 2023年6月7日
    069
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球