通过HttpClient转发/调用HTTP请求
一、添加依赖
<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请求相关推荐
- SpringMVC,MyBatis项目中兼容Oracle和MySql的解决方案及其项目环境搭建配置、web项目中的单元测试写法、HttpClient调用post请求等案例
要搭建的项目的项目结构如下(使用的框架为:Spring.SpingMVC.MyBatis): 2.pom.xml中的配置如下(注意,本工程分为几个小的子工程,另外两个工程最终是jar包): 其中 ...
- java httpclient 跨域_13、HttpClient服务器跨域请求
1 回调 1.1 回调函数 1.1.1 回调的原理图 说明:在架构设计中,回调的机制经常会被使用,课下自行学习. 1.2 JSON的数据结构 1.2.1 JSON官网介绍 1.2.2 Object格式 ...
- Httpclient远程调用WebService示例
我们将Web Service发布在Tomcat或者其他应用服务器上后,有很多方法可以调用该Web Service,常用的有两种: 1.通过浏览器HTTP调用,返回规范的XML文件内容 2. ...
- java请求转发实例_Servlet请求转发的步骤和实例
请求转发 一次请求Servlet对应的request对象,在此request中存储数据,可以在此request对象中取出:但是在另一次请求Servlet对应的request对象,是没有第一次请求时在r ...
- WebApi系列~通过HttpClient来调用Web Api接口
HttpClient是一个被封装好的类,主要用于Http的通讯,它在.net,java,oc中都有被实现,当然,我只会.net,所以,只讲.net中的HttpClient去调用Web Api的方法,基 ...
- HttpClient 带参数get请求
背景: 本例中使用HttpClient Get请求下载存储系统中的文件.根据存储系统提供的接口文档需要传入参数. 实例1(使用字符串直接拼接get请求中的参数) 1.参数: filename:存储系统 ...
- 轻松把玩HttpClient之模拟post请求示例
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建 ...
- java 请求转发_javaweb之请求的转发和重定向
1.什么是请求转发和请求重定向? 请求转发: xxServlet收到请求,然后直接转发给yyServlet,然后yyServlet返回给客户端.整个过程中,客户端发出一个请求,收到一个响应. 重定向: ...
- 解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题
解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题 参考文章: (1)解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题 (2)ht ...
- HttpClient中的各种请求
一:什么是HttpClient? 主要是模拟浏览器发送请求给server,监听响应信息,推断返回结果的正确性怎样,因为避开的浏览器的UI ,也就将浏览器中全部载入的时间(比方常常要载入图片啊)都省掉了 ...
最新文章
- dp,px,pt,sp 的区别 以及dp 和 px 互转
- angularJS1笔记-(18)-$http及用angular实现JSONP跨域访问过程
- 关于luci的几个问题二
- tensorflow中的Supervisor
- 图解Transformer-一篇文章看懂transformer
- php百度鹰眼,Android 百度鹰眼里程计算简单实列
- CCF	201812-2小明放学
- 大学计算机作业互评评语简短,学生作业互评表的填写方法
- matlab直流电机转速 电流双闭环,转速电流双闭环直流调速系统的课程设计(MATLABSimulink)..docx...
- H3C交换机配置的备份与恢复[3CDaemon]
- libcef-框架架构中概念介绍-网络层(请求)-请求处理-请求拦截-代理解析(六)
- C++实现cmd界面简单贪吃蛇游戏
- 英语八大句子成分之一 - 状语
- C# winform chart 饼状图的使用布局
- 根据year年的第week周,查询第week周的起止时间
- 计算机管理系统工具 下没有用户名密码,电脑设置管理系统用户账户,更改用户名,设置密码等...
- Runas命令:能让域用户/普通User用户以管理员身份运行指定程序
- 全国计算机等级考试二级教程Python(2019)编程题参考答案
- U3D 获取玩家设备标识符和设备型号
- word页眉、页脚、页码自动编号与分页符的关系