diff --git a/src/main/java/xyz/thewhitedog9487/WebAPI/Controller/Filter/LogClientInfo.java b/src/main/java/xyz/thewhitedog9487/WebAPI/Controller/Filter/LogClientInfo.java index 0ed1645..f54eae6 100644 --- a/src/main/java/xyz/thewhitedog9487/WebAPI/Controller/Filter/LogClientInfo.java +++ b/src/main/java/xyz/thewhitedog9487/WebAPI/Controller/Filter/LogClientInfo.java @@ -18,9 +18,15 @@ public class LogClientInfo extends OncePerRequestFilter { protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { log.info("接收到对于{} {} 的请求", request.getMethod(), request.getRequestURL() + ( ( request.getQueryString() == null ) ? "" : "?" + request.getQueryString() ) ); log.info("请求ID:{}", request.getRequestId()); - if (request.getHeader("CF-Connecting-IP".toLowerCase()) instanceof String IP) { + if ( request.getHeader("CF-Connecting-IP".toLowerCase() ) instanceof String IP ) { + /* + ↑ 如果成功完成instanceof模式匹配,那么模式变量一定非空 + 相当于是: + if ( request.getHeader("CF-Connecting-IP".toLowerCase() ) != null ) { + String IP = request.getHeader( "CF-Connecting-IP".toLowerCase() ); } + */ log.info("请求携带了CF-Connecting-IP头部,IP为:{}", IP); } - else if(request.getHeader("X-Forwarded-For".toLowerCase()) instanceof String IP) { + else if( request.getHeader("X-Forwarded-For".toLowerCase() ) instanceof String IP ) { IP = IP.split(",")[0].trim(); log.info("请求携带了X-Forwarded-For头部,IP为:{}", IP); } else { diff --git a/src/main/java/xyz/thewhitedog9487/WebAPI/Controller/IP.java b/src/main/java/xyz/thewhitedog9487/WebAPI/Controller/IP.java index 5358292..a8e689b 100644 --- a/src/main/java/xyz/thewhitedog9487/WebAPI/Controller/IP.java +++ b/src/main/java/xyz/thewhitedog9487/WebAPI/Controller/IP.java @@ -18,13 +18,12 @@ import java.util.Map; class IP { @GetMapping("/ip") ResponseEntity GetIP(@RequestHeader Map HttpHeader, HttpServletRequest Request) { - if (HttpHeader.get("CF-Connecting-IP".toLowerCase()) instanceof String IP) { + if ( HttpHeader.get("CF-Connecting-IP".toLowerCase() ) instanceof String IP) { /* - ↑ instanceof的如果成功完成模式匹配,那么模式变量一定非空 + ↑ 如果成功完成instanceof模式匹配,那么模式变量一定非空 相当于是: - if (HttpHeader.get("CF-Connecting-IP" != null) { - String IP = HttpHeader.get("CF-Connecting-IP"); - } + if ( HttpHeader.get("CF-Connecting-IP".toLowerCase() ) != null ) { + String IP = HttpHeader.get( "CF-Connecting-IP".toLowerCase() ); } */ return new ResponseEntity<>(IP, MultiValueMap.fromSingleValue(Map.of("Content-Type", "text/plain;charset=UTF-8")),