一、添加依赖

<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId>
</dependency>

二、建立HttpClient . java类

主要代码如下:

@Service
public class HttpClient {public AjaxResult ajaxResultClient(String url, HttpMethod method, String params){RestTemplate client = new RestTemplate();HttpHeaders headers = new HttpHeaders();//  请勿轻易改变此提交方式,大部分的情况下,提交方式都是表单提交//headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);headers.setContentType(MediaType.APPLICATION_PROBLEM_JSON_UTF8);HttpEntity<String> requestEntity = new HttpEntity<String>(params, headers);//  执行HTTP请求ResponseEntity<AjaxResult> response = client.exchange(url, method, requestEntity, AjaxResult.class);return response.getBody();}
}

三、controller调用示例

 @RequestMapping(value = "/c/save",method= RequestMethod.POST)public AjaxResult packing(@RequestBody Map<String,Object> map){//api url地址String url = "http://127.0.0.1:8088/ml/p/a/save";//post请求HttpMethod method =HttpMethod.POST;Map<String, Object> params= new HashMap<String, Object>();params.put("batch", map.get("batch"));params.put("num", map.get("num"));String paramString =JSON.toJSONString(params);//发送http请求并返回结果return httpClient.ajaxResultClient(url,method,paramString);}@RequestMapping(value = "/c/a/p/getinfobybatch",method= RequestMethod.GET)public AjaxResult getinfobybatch(@RequestParam("batch") String batch){//api url地址String url = "http://127.0.0.1:8088/m/p/a/getinfobybatch?batch="+batch;HttpMethod method =HttpMethod.GET;// 封装参数,千万不要替换为Map与HashMap,否则参数无法传递Map<String, Object> params= new HashMap<String, Object>();String paramString =JSON.toJSONString(params);//发送http请求并返回结果return httpClient.ajaxResultClient(url,method,paramString);}

四、参考

  • SpringBoot连接外部url(http)请求,获取json数据

  • java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String at java.lang.It

  • [SpringBoot发送http请求]

  • 使用HttpClient发送Http请求详细示例

  • 接口调用的两种方式HttpClient以及spring cloud的@Feign方式

通过HttpClient转发/调用HTTP请求相关推荐

  1. SpringMVC,MyBatis项目中兼容Oracle和MySql的解决方案及其项目环境搭建配置、web项目中的单元测试写法、HttpClient调用post请求等案例

     要搭建的项目的项目结构如下(使用的框架为:Spring.SpingMVC.MyBatis): 2.pom.xml中的配置如下(注意,本工程分为几个小的子工程,另外两个工程最终是jar包): 其中 ...

  2. java httpclient 跨域_13、HttpClient服务器跨域请求

    1 回调 1.1 回调函数 1.1.1 回调的原理图 说明:在架构设计中,回调的机制经常会被使用,课下自行学习. 1.2 JSON的数据结构 1.2.1 JSON官网介绍 1.2.2 Object格式 ...

  3. Httpclient远程调用WebService示例

    我们将Web Service发布在Tomcat或者其他应用服务器上后,有很多方法可以调用该Web Service,常用的有两种: 1.通过浏览器HTTP调用,返回规范的XML文件内容       2. ...

  4. java请求转发实例_Servlet请求转发的步骤和实例

    请求转发 一次请求Servlet对应的request对象,在此request中存储数据,可以在此request对象中取出:但是在另一次请求Servlet对应的request对象,是没有第一次请求时在r ...

  5. WebApi系列~通过HttpClient来调用Web Api接口

    HttpClient是一个被封装好的类,主要用于Http的通讯,它在.net,java,oc中都有被实现,当然,我只会.net,所以,只讲.net中的HttpClient去调用Web Api的方法,基 ...

  6. HttpClient 带参数get请求

    背景: 本例中使用HttpClient Get请求下载存储系统中的文件.根据存储系统提供的接口文档需要传入参数. 实例1(使用字符串直接拼接get请求中的参数) 1.参数: filename:存储系统 ...

  7. 轻松把玩HttpClient之模拟post请求示例

    HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建 ...

  8. java 请求转发_javaweb之请求的转发和重定向

    1.什么是请求转发和请求重定向? 请求转发: xxServlet收到请求,然后直接转发给yyServlet,然后yyServlet返回给客户端.整个过程中,客户端发出一个请求,收到一个响应. 重定向: ...

  9. 解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题

    解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题 参考文章: (1)解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题 (2)ht ...

  10. HttpClient中的各种请求

    一:什么是HttpClient? 主要是模拟浏览器发送请求给server,监听响应信息,推断返回结果的正确性怎样,因为避开的浏览器的UI ,也就将浏览器中全部载入的时间(比方常常要载入图片啊)都省掉了 ...

最新文章

  1. dp,px,pt,sp 的区别 以及dp 和 px 互转
  2. angularJS1笔记-(18)-$http及用angular实现JSONP跨域访问过程
  3. 关于luci的几个问题二
  4. tensorflow中的Supervisor
  5. 图解Transformer-一篇文章看懂transformer
  6. php百度鹰眼,Android 百度鹰眼里程计算简单实列
  7. CCF 201812-2小明放学
  8. 大学计算机作业互评评语简短,学生作业互评表的填写方法
  9. matlab直流电机转速 电流双闭环,转速电流双闭环直流调速系统的课程设计(MATLABSimulink)..docx...
  10. H3C交换机配置的备份与恢复[3CDaemon]
  11. libcef-框架架构中概念介绍-网络层(请求)-请求处理-请求拦截-代理解析(六)
  12. C++实现cmd界面简单贪吃蛇游戏
  13. 英语八大句子成分之一 - 状语
  14. C# winform chart 饼状图的使用布局
  15. 根据year年的第week周,查询第week周的起止时间
  16. 计算机管理系统工具 下没有用户名密码,电脑设置管理系统用户账户,更改用户名,设置密码等...
  17. Runas命令:能让域用户/普通User用户以管理员身份运行指定程序
  18. 全国计算机等级考试二级教程Python(2019)编程题参考答案
  19. U3D 获取玩家设备标识符和设备型号
  20. word页眉、页脚、页码自动编号与分页符的关系

热门文章

  1. [IOS Tableview] cell自定义view显示错误问题
  2. windows下安装Perl模块
  3. label字符自动换行(转自网络)
  4. Vs 2008 sp1更新后出现的问题!
  5. BizTalk学习笔记系列之四: BizTalk功能介绍
  6. OSChina 周四乱弹 —— 电脑上都有监视器
  7. wx-jq:一套完全原创的微信小程序插件集合库
  8. “vmware tools 只能虚拟机中安装”的解决方法
  9. JAVA 7 正式版发布 新特性一览表
  10. JS开发之Factory(工厂)模式解析