spring boot中 使用http请求
/**
* 没有request 请求,给controller层调用
* @param key
* @param interfaceName
* @param strings
* @return
* @throws Exception
*/
public String centerToDeviceFacNoRequest(String key,String interfaceName)throws Exception {
try { HttpServletRequest request=getRequest();//上面第一步,从上下文中获取url
//获取reuquest请求参数
Enumeration<String> names= request.getParameterNames();
Map<String,String>paramMap=new HashMap<>();
//遍历请求map
while(names.hasMoreElements()) {
String name=names.nextElement();
String value=(String) request.getParameter(name);
paramMap.put(name, value);
}
//调用发送http请求的方法
return sendHttpToDevFacNoData(paramMap,request);
} catch (Exception e) {
e.printStackTrace();
}
//end
return null;
}
/**
* 发送http请求,【没有data数据的】
* @return
*/
public String sendHttpToDevFacNoData(Map<String,String>paramMap,HttpServletRequest request)throws Exception {
HttpClient client = null;
String result="";
StringBuffer dataBuffer=getUrlToRequest(request);//获取url
dataBuffer.append("?");
client=DeviceFactoryHttp.client; Iterator<Entry<String, String>> paamIt=paramMap.entrySet().iterator();
while(paamIt.hasNext()) {
Entry<String, String> entry=paamIt.next();
dataBuffer.append(entry.getKey()).append("=").append(entry.getValue()).append("&");
}
String resultUrl=dataBuffer.toString().substring(0, dataBuffer.toString().lastIndexOf("&")); //发送请求
HttpGet get=new HttpGet(resultUrl);
//set headers
Enumeration<String> headerNames=request.getHeaderNames();
while(headerNames.hasMoreElements()) {
String headerName=headerNames.nextElement();
String headerValue=request.getHeader(headerName);
get.setHeader(headerName, headerValue); }
HttpResponse rep=client.execute(get);
logger.info("开始调用http请求,请求url:"+resultUrl);
//返回结果
result=EntityUtils.toString(rep.getEntity(),"utf-8");
logger.info(" http 请求调用结束!!"); return result;
}
spring boot中 使用http请求的更多相关文章
- Spring Boot中扩展XML请求和响应的支持
在Spring Boot中,我们大多时候都只提到和用到了针对HTML和JSON格式的请求与响应处理.那么对于XML格式的请求要如何快速的在Controller中包装成对象,以及如何以XML的格式返回一 ...
- spring boot中使用AJAX请求,并将回调函数赋值给input输入框
HTML: <script>/* $(document).ready(function(){} 页面加载事件,加载完页面之后执行 */ $(document).ready(function ...
- Spring Boot中如何扩展XML请求和响应的支持
在之前的所有Spring Boot教程中,我们都只提到和用到了针对HTML和JSON格式的请求与响应处理.那么对于XML格式的请求要如何快速的在Controller中包装成对象,以及如何以XML的格式 ...
- Spring Boot中使用AOP统一处理Web请求日志
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是Spring框架中的一个重要内容,它通 ...
- 【spring boot】spring boot中使用@RestController不起作用,不返回json,依旧去找访问接口的请求地址对应的页面
问题描述: spring boot中使用@RestController不起作用,不返回json,依旧去找访问接口的请求地址对应的页面 表现结果: 1>使用postman测试接口,表现为返回是40 ...
- Spring Boot中使用AOP记录请求日志
这周看别人写的springboot后端代码中有使用AOP记录请求日志,以前没接触过,因此学习下. 一.AOP简介 AOP为Aspect Oriented Programming的缩写,意为:面向切面编 ...
- 46. Spring Boot中使用AOP统一处理Web请求日志
在之前一系列的文章中都是提供了全部的代码,在之后的文章中就提供核心的代码进行讲解.有什么问题大家可以给我留言或者加我QQ,进行咨询. AOP为Aspect Oriented Programming的缩 ...
- 转:Spring Boot中使用AOP统一处理Web请求日志
在spring boot中,简单几步,使用spring AOP实现一个拦截器: 1.引入依赖: <dependency> <groupId>org.springframewor ...
- Spring Boot中的注解
文章来源:http://www.tuicool.com/articles/bQnMra 在Spring Boot中几乎可以完全弃用xml配置文件,本文的主题是分析常用的注解. Spring最开始是为了 ...
随机推荐
- [CF403D]Beautiful Pairs of Numbers
题意:给定$n,k$,对于整数对序列$\left(a_1,b_1\right),\cdots,\left(a_k,b_k\right)$,如果$1\leq a_1\leq b_1\lt a_2\leq ...
- linux的打包与解压
zip: 打包 :zip something.zip something (目录请加 -r 参数) 解包:unzip something 指定路径:-d 参数 创建加密 zip 包 使用 -e 参数可 ...
- maven-pom-build
地址: http://blog.csdn.net/taiyangdao/article/details/52374125
- struts-2-spring-2-jpa-ajax
http://struts.apache.org/docs/struts-2-spring-2-jpa-ajax.html
- JSON.parse(str),JSON.stringify(a)
1.JSON.parse(str),字符串转换成对象 var str = '{"name":"huangxiaojian","age":&q ...
- Coherence装载数据的研究-PreloadRequest
最近给客户准备培训,看到Coherence可以通过三种方式批量加载数据,分别是: Custom application InvocableMap - PreloadRequest Invocation ...
- phpmyadmin后台4种拿shell方法 && php爆路径大法
php后台拿shell要知道php的路径,文章下面将讲诉爆php路径的方法!!! 方法一: CREATE TABLE `mysql`.`xss` (`xss1` TEXT NOT NULL ); IN ...
- cdev结构体及其相关函数
一.在Linux2.6内核中一个字符设备用cdev结构来描述,其定义如下: struct cdev { struct kobject kobj; struct module *owner; //所属模 ...
- KVO(Key Value Observing)
*KVO能够监听某个对象属性的改变 原理:仅仅要给一个对象注冊一个监听,那么在执行时, 系统就会自己主动给该对象生成一个子类对象,而且重写自己主动生成的子类对象的被监听属性的set方法.然后在set方 ...
- 通过案例对SparkStreaming透彻理解三板斧之三
本课将从二方面阐述: 一.解密SparkStreaming Job架构和运行机制 二.解密SparkStreaming容错架构和运行机制 一切不能进行实时流处理的数据都将是无效的数据.在流处理时代,S ...