From 37add8cb25a597e30005ffd8a4423c866dfd3a7f Mon Sep 17 00:00:00 2001 From: lhd <839347550@qq.com> Date: Mon, 27 Jul 2026 11:33:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E5=95=86=E5=93=81=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E6=8E=A5=E5=8F=A3=E5=95=86=E5=93=81id=E8=AE=BE?= =?UTF-8?q?=E4=B8=BA=E5=BF=85=E5=A1=AB=E5=8F=82=E6=95=B0=E5=92=8Cip?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E7=B1=BB=E9=83=A8=E5=88=86=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yami/shop/api/controller/ProdController.java | 2 +- .../java/com/yami/shop/common/util/IpHelper.java | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdController.java index 6c61fc03..fbfb6f0b 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdController.java @@ -69,7 +69,7 @@ public class ProdController { @GetMapping("/prodInfo") @Operation(summary = "商品详情信息" , description = "根据商品ID(prodId)获取商品信息") @Parameter(name = "prodId", description = "商品ID" , required = true) - public ServerResponseEntity prodInfo(Long prodId) { + public ServerResponseEntity prodInfo(@RequestParam(value = "prodId") Long prodId) { Product product = prodService.getProductByProdId(prodId); if (product == null) { diff --git a/yami-shop-common/src/main/java/com/yami/shop/common/util/IpHelper.java b/yami-shop-common/src/main/java/com/yami/shop/common/util/IpHelper.java index af088168..69701ab3 100644 --- a/yami-shop-common/src/main/java/com/yami/shop/common/util/IpHelper.java +++ b/yami-shop-common/src/main/java/com/yami/shop/common/util/IpHelper.java @@ -35,13 +35,13 @@ public class IpHelper { return null; } String ip = request.getHeader("x-forwarded-for"); - if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + if (isUnknown(ip)) { ip = request.getHeader("Proxy-Client-IP"); } - if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + if (isUnknown(ip)) { ip = request.getHeader("WL-Proxy-Client-IP"); } - if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + if (isUnknown(ip)) { ip = request.getRemoteAddr(); } String[] ips = ip.split(","); @@ -60,8 +60,9 @@ public class IpHelper { Enumeration inetAddresses = networkInterface.getInetAddresses(); while (inetAddresses.hasMoreElements()) { InetAddress inetAddress = inetAddresses.nextElement(); - if (inetAddress.isSiteLocalAddress() && !inetAddress.isLoopbackAddress() && inetAddress.getHostAddress().indexOf(":") == -1) { - return inetAddress.getHostAddress(); + String hostAddress = inetAddress.getHostAddress(); + if (inetAddress.isSiteLocalAddress() && !inetAddress.isLoopbackAddress() && !hostAddress.contains(":")) { + return hostAddress; } } } @@ -70,4 +71,8 @@ public class IpHelper { } return "127.0.0.1"; } + + private static boolean isUnknown(String ip) { + return ip == null || ip.isEmpty() || UNKNOWN.equalsIgnoreCase(ip); + } }