diff --git a/build.gradle.kts b/build.gradle.kts index 0946d64..fa11d45 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,7 +6,7 @@ plugins { } group = "xyz.thewhitedog9487" -version = "0.1.0" +version = "0.2.0" java { toolchain { diff --git a/src/main/java/xyz/thewhitedog9487/WebAPI/Controller/IP.java b/src/main/java/xyz/thewhitedog9487/WebAPI/Controller/IP.java index a8e689b..abd512c 100644 --- a/src/main/java/xyz/thewhitedog9487/WebAPI/Controller/IP.java +++ b/src/main/java/xyz/thewhitedog9487/WebAPI/Controller/IP.java @@ -35,7 +35,18 @@ class IP { HttpStatus.OK); } else { return new ResponseEntity<>(Request.getRemoteAddr(), + MultiValueMap.fromSingleValue(Map.of("Content-Type", "text/plain;charset=UTF-8")), + HttpStatus.OK); } } + + @GetMapping("iso3166") + ResponseEntity GetISO3166(@RequestHeader Map HttpHeader) { + if (HttpHeader.get("CF-IPCountry".toLowerCase()) instanceof String CountryCode) { + return new ResponseEntity<>(CountryCode, MultiValueMap.fromSingleValue(Map.of("Content-Type", "text/plain;charset=UTF-8")), HttpStatus.OK); } - } + else { + log.warn("请求尝试获取其ip对应的iso3166代码,但是我们没有找到CF-IPCountry头部"); + return new ResponseEntity<>("未找到CF-IPCountry头部", + MultiValueMap.fromSingleValue(Map.of("Content-Type", "text/plain;charset=UTF-8")), + HttpStatus.NOT_FOUND); } } }