通用http工具类

master
RuoYi 5 years ago
parent ab992f4848
commit 02062f31e9
  1. 56
      ruoyi/src/main/java/com/ruoyi/common/utils/http/HttpHelper.java
  2. 6
      ruoyi/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java

@ -0,0 +1,56 @@
package com.ruoyi.common.utils.http;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import javax.servlet.ServletRequest;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* 通用http工具封装
*
* @author ruoyi
*/
public class HttpHelper
{
private static final Logger LOGGER = LoggerFactory.getLogger(HttpHelper.class);
public static String getBodyString(ServletRequest request)
{
StringBuilder sb = new StringBuilder();
BufferedReader reader = null;
try (InputStream inputStream = request.getInputStream())
{
reader = new BufferedReader(new InputStreamReader(inputStream, Charset.forName("UTF-8")));
String line = "";
while ((line = reader.readLine()) != null)
{
sb.append(line);
}
}
catch (IOException e)
{
LOGGER.warn("getBodyString出现问题!");
}
finally
{
if (reader != null)
{
try
{
reader.close();
}
catch (IOException e)
{
LOGGER.error(ExceptionUtils.getFullStackTrace(e));
}
}
}
return sb.toString();
}
}

@ -26,7 +26,7 @@ public class SameUrlDataInterceptor extends RepeatSubmitInterceptor
public final String REPEAT_TIME = "repeatTime"; public final String REPEAT_TIME = "repeatTime";
public final String SESSION_REPEAT_KEY = "repeatData"; public final String CACHE_REPEAT_KEY = "repeatData";
@Autowired @Autowired
private RedisCache redisCache; private RedisCache redisCache;
@ -62,7 +62,7 @@ public class SameUrlDataInterceptor extends RepeatSubmitInterceptor
// 请求地址(作为存放session的key值) // 请求地址(作为存放session的key值)
String url = request.getRequestURI(); String url = request.getRequestURI();
Object sessionObj = redisCache.getCacheObject(SESSION_REPEAT_KEY); Object sessionObj = redisCache.getCacheObject(CACHE_REPEAT_KEY);
if (sessionObj != null) if (sessionObj != null)
{ {
Map<String, Object> sessionMap = (Map<String, Object>) sessionObj; Map<String, Object> sessionMap = (Map<String, Object>) sessionObj;
@ -77,7 +77,7 @@ public class SameUrlDataInterceptor extends RepeatSubmitInterceptor
} }
Map<String, Object> cacheMap = new HashMap<String, Object>(); Map<String, Object> cacheMap = new HashMap<String, Object>();
cacheMap.put(url, nowDataMap); cacheMap.put(url, nowDataMap);
redisCache.setCacheObject(SESSION_REPEAT_KEY, cacheMap, intervalTime, TimeUnit.SECONDS); redisCache.setCacheObject(CACHE_REPEAT_KEY, cacheMap, intervalTime, TimeUnit.SECONDS);
return false; return false;
} }

Loading…
Cancel
Save