Commit e5fcc7a387f7bc16fc719a56dec880ca3d943211

Authored by YunaiV
1 parent d23ed5a6

boot3:适合 ServletUtils

yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/framework/core/util/ServletUtils.java
... ... @@ -25,4 +25,8 @@ public class ServletUtils {
25 25 ServletUtil.write(response, content, MediaType.APPLICATION_JSON_UTF8_VALUE);
26 26 }
27 27  
  28 + public static void write(HttpServletResponse response, String text, String contentType) {
  29 + ServletUtil.write(response, text, contentType);
  30 + }
  31 +
28 32 }
... ...
yudao-example/yudao-sso-demo-by-password/src/main/java/cn/iocoder/yudao/ssodemo/framework/core/util/ServletUtils.java
... ... @@ -25,4 +25,8 @@ public class ServletUtils {
25 25 ServletUtil.write(response, content, MediaType.APPLICATION_JSON_UTF8_VALUE);
26 26 }
27 27  
  28 + public static void write(HttpServletResponse response, String text, String contentType) {
  29 + ServletUtil.write(response, text, contentType);
  30 + }
  31 +
28 32 }
... ...
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/servlet/ServletUtils.java
... ... @@ -14,6 +14,7 @@ import javax.servlet.http.HttpServletRequest;
14 14 import javax.servlet.http.HttpServletResponse;
15 15 import java.io.IOException;
16 16 import java.net.URLEncoder;
  17 +import java.util.Map;
17 18  
18 19 /**
19 20 * 客户端工具类
... ... @@ -40,7 +41,6 @@ public class ServletUtils {
40 41 * @param response 响应
41 42 * @param filename 文件名
42 43 * @param content 附件内容
43   - * @throws IOException
44 44 */
45 45 public static void writeAttachment(HttpServletResponse response, String filename, byte[] content) throws IOException {
46 46 // 设置 header 和 contentType
... ... @@ -92,4 +92,19 @@ public class ServletUtils {
92 92 return StrUtil.startWithIgnoreCase(request.getContentType(), MediaType.APPLICATION_JSON_VALUE);
93 93 }
94 94  
  95 + public static String getBody(HttpServletRequest request) {
  96 + return ServletUtil.getBody(request);
  97 + }
  98 +
  99 + public static byte[] getBodyBytes(HttpServletRequest request) {
  100 + return ServletUtil.getBodyBytes(request);
  101 + }
  102 +
  103 + public static String getClientIP(HttpServletRequest request) {
  104 + return ServletUtil.getClientIP(request);
  105 + }
  106 +
  107 + public static Map<String, String> getParamMap(HttpServletRequest request) {
  108 + return ServletUtil.getParamMap(request);
  109 + }
95 110 }
... ...
yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelog/core/aop/OperateLogAspect.java
... ... @@ -4,7 +4,6 @@ import cn.hutool.core.date.LocalDateTimeUtil;
4 4 import cn.hutool.core.exceptions.ExceptionUtil;
5 5 import cn.hutool.core.util.ArrayUtil;
6 6 import cn.hutool.core.util.StrUtil;
7   -import cn.hutool.extra.servlet.ServletUtil;
8 7 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
9 8 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
10 9 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
... ... @@ -221,7 +220,7 @@ public class OperateLogAspect {
221 220 // 补全请求信息
222 221 operateLogObj.setRequestMethod(request.getMethod());
223 222 operateLogObj.setRequestUrl(request.getRequestURI());
224   - operateLogObj.setUserIp(ServletUtil.getClientIP(request));
  223 + operateLogObj.setUserIp(ServletUtils.getClientIP(request));
225 224 operateLogObj.setUserAgent(ServletUtils.getUserAgent(request));
226 225 }
227 226  
... ...
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/apilog/core/filter/ApiAccessLogFilter.java
... ... @@ -3,7 +3,6 @@ package cn.iocoder.yudao.framework.apilog.core.filter;
3 3 import cn.hutool.core.date.LocalDateTimeUtil;
4 4 import cn.hutool.core.exceptions.ExceptionUtil;
5 5 import cn.hutool.core.map.MapUtil;
6   -import cn.hutool.extra.servlet.ServletUtil;
7 6 import cn.iocoder.yudao.framework.apilog.core.service.ApiAccessLog;
8 7 import cn.iocoder.yudao.framework.apilog.core.service.ApiAccessLogFrameworkService;
9 8 import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants;
... ... @@ -50,8 +49,8 @@ public class ApiAccessLogFilter extends ApiRequestFilter {
50 49 // 获得开始时间
51 50 LocalDateTime beginTime = LocalDateTime.now();
52 51 // 提前获得参数,避免 XssFilter 过滤处理
53   - Map<String, String> queryString = ServletUtil.getParamMap(request);
54   - String requestBody = ServletUtils.isJsonRequest(request) ? ServletUtil.getBody(request) : null;
  52 + Map<String, String> queryString = ServletUtils.getParamMap(request);
  53 + String requestBody = ServletUtils.isJsonRequest(request) ? ServletUtils.getBody(request) : null;
55 54  
56 55 try {
57 56 // 继续过滤器
... ... @@ -101,7 +100,7 @@ public class ApiAccessLogFilter extends ApiRequestFilter {
101 100 accessLog.setRequestParams(toJsonString(requestParams));
102 101 accessLog.setRequestMethod(request.getMethod());
103 102 accessLog.setUserAgent(ServletUtils.getUserAgent(request));
104   - accessLog.setUserIp(ServletUtil.getClientIP(request));
  103 + accessLog.setUserIp(ServletUtils.getClientIP(request));
105 104 // 持续时间
106 105 accessLog.setBeginTime(beginTime);
107 106 accessLog.setEndTime(LocalDateTime.now());
... ...
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/core/filter/CacheRequestBodyWrapper.java
1 1 package cn.iocoder.yudao.framework.web.core.filter;
2 2  
3   -import cn.hutool.extra.servlet.ServletUtil;
  3 +import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
4 4  
5 5 import javax.servlet.ReadListener;
6 6 import javax.servlet.ServletInputStream;
... ... @@ -25,7 +25,7 @@ public class CacheRequestBodyWrapper extends HttpServletRequestWrapper {
25 25  
26 26 public CacheRequestBodyWrapper(HttpServletRequest request) {
27 27 super(request);
28   - body = ServletUtil.getBodyBytes(request);
  28 + body = ServletUtils.getBodyBytes(request);
29 29 }
30 30  
31 31 @Override
... ...
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/core/handler/GlobalExceptionHandler.java
... ... @@ -2,7 +2,6 @@ package cn.iocoder.yudao.framework.web.core.handler;
2 2  
3 3 import cn.hutool.core.exceptions.ExceptionUtil;
4 4 import cn.hutool.core.map.MapUtil;
5   -import cn.hutool.extra.servlet.ServletUtil;
6 5 import cn.iocoder.yudao.framework.apilog.core.service.ApiErrorLog;
7 6 import cn.iocoder.yudao.framework.apilog.core.service.ApiErrorLogFrameworkService;
8 7 import cn.iocoder.yudao.framework.common.exception.ServiceException;
... ... @@ -261,12 +260,12 @@ public class GlobalExceptionHandler {
261 260 errorLog.setApplicationName(applicationName);
262 261 errorLog.setRequestUrl(request.getRequestURI());
263 262 Map<String, Object> requestParams = MapUtil.<String, Object>builder()
264   - .put("query", ServletUtil.getParamMap(request))
265   - .put("body", ServletUtil.getBody(request)).build();
  263 + .put("query", ServletUtils.getParamMap(request))
  264 + .put("body", ServletUtils.getBody(request)).build();
266 265 errorLog.setRequestParams(JsonUtils.toJsonString(requestParams));
267 266 errorLog.setRequestMethod(request.getMethod());
268 267 errorLog.setUserAgent(ServletUtils.getUserAgent(request));
269   - errorLog.setUserIp(ServletUtil.getClientIP(request));
  268 + errorLog.setUserIp(ServletUtils.getClientIP(request));
270 269 errorLog.setExceptionTime(LocalDateTime.now());
271 270 }
272 271  
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/AppTradeOrderController.java
1 1 package cn.iocoder.yudao.module.trade.controller.app.order;
2 2  
3   -import cn.hutool.extra.servlet.ServletUtil;
4 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
5 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 5 import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated;
... ... @@ -55,7 +54,7 @@ public class AppTradeOrderController {
55 54 HttpServletRequest servletRequest) {
56 55 // 获取登录用户、用户 IP 地址
57 56 Long loginUserId = getLoginUserId();
58   - String clientIp = ServletUtil.getClientIP(servletRequest);
  57 + String clientIp = ServletUtils.getClientIP(servletRequest);
59 58 // 创建交易订单,预支付记录
60 59 Long orderId = tradeOrderService.createOrder(loginUserId, clientIp, createReqVO);
61 60 return success(orderId);
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/captcha/CaptchaController.java
1 1 package cn.iocoder.yudao.module.system.controller.admin.captcha;
2 2  
3 3 import cn.hutool.core.util.StrUtil;
4   -import cn.hutool.extra.servlet.ServletUtil;
  4 +import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
5 5 import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
6 6 import com.xingyuv.captcha.model.common.ResponseModel;
7 7 import com.xingyuv.captcha.model.vo.CaptchaVO;
... ... @@ -50,7 +50,7 @@ public class CaptchaController {
50 50 }
51 51  
52 52 public static String getRemoteId(HttpServletRequest request) {
53   - String ip = ServletUtil.getClientIP(request);
  53 + String ip = ServletUtils.getClientIP(request);
54 54 String ua = request.getHeader("user-agent");
55 55 if (StrUtil.isNotBlank(ip)) {
56 56 return ip + ua;
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsCallbackController.java
1 1 package cn.iocoder.yudao.module.system.controller.admin.sms;
2 2  
3   -import cn.hutool.extra.servlet.ServletUtil;
4 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
  4 +import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
5 5 import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
6 6 import cn.iocoder.yudao.framework.sms.core.enums.SmsChannelEnum;
7 7 import cn.iocoder.yudao.module.system.service.sms.SmsSendService;
8   -import io.swagger.v3.oas.annotations.tags.Tag;
9 8 import io.swagger.v3.oas.annotations.Operation;
  9 +import io.swagger.v3.oas.annotations.tags.Tag;
10 10 import org.springframework.web.bind.annotation.PostMapping;
11 11 import org.springframework.web.bind.annotation.RequestMapping;
12 12 import org.springframework.web.bind.annotation.RestController;
... ... @@ -30,7 +30,7 @@ public class SmsCallbackController {
30 30 @Operation(summary = "阿里云短信的回调", description = "参见 https://help.aliyun.com/document_detail/120998.html 文档")
31 31 @OperateLog(enable = false)
32 32 public CommonResult<Boolean> receiveAliyunSmsStatus(HttpServletRequest request) throws Throwable {
33   - String text = ServletUtil.getBody(request);
  33 + String text = ServletUtils.getBody(request);
34 34 smsSendService.receiveSmsStatus(SmsChannelEnum.ALIYUN.getCode(), text);
35 35 return success(true);
36 36 }
... ... @@ -40,7 +40,7 @@ public class SmsCallbackController {
40 40 @Operation(summary = "腾讯云短信的回调", description = "参见 https://cloud.tencent.com/document/product/382/52077 文档")
41 41 @OperateLog(enable = false)
42 42 public CommonResult<Boolean> receiveTencentSmsStatus(HttpServletRequest request) throws Throwable {
43   - String text = ServletUtil.getBody(request);
  43 + String text = ServletUtils.getBody(request);
44 44 smsSendService.receiveSmsStatus(SmsChannelEnum.TENCENT.getCode(), text);
45 45 return success(true);
46 46 }
... ...