# SpringBoot获取访问者IP的实现

欢迎来到这篇文章,今天我将教你如何在SpringBoot中获取访问者的IP地址。获取访问者的IP地址是在Web开发中常见的需求,可以用于统计访问量、限流等操作。下面,让我们一步步来实现它。

## 实现步骤

以下是获取访问者IP的实现步骤:

| 步骤 | 描述 |
|------|--------------------------------|
| 1 | 获取HttpServletRequest对象 |
| 2 | 从HttpServletRequest对象中获取IP地址 |

## 具体实现

### 步骤一:获取HttpServletRequest对象

在SpringBoot中,我们可以通过注入HttpServletRequest对象来获得当前HTTP请求的相关信息。首先在Controller中添加以下代码:

```java
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;

@RestController
public class IPController {

@GetMapping("/getIP")
public String getIP(HttpServletRequest request) {
// 此处获取到HttpServletRequest对象
return "Hello World";
}
}
```

### 步骤二:从HttpServletRequest对象中获取IP地址

接下来,在Controller中添加代码来获取访问者的IP地址:

```java
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;

@RestController
public class IPController {

@GetMapping("/getIP")
public String getIP(HttpServletRequest request) {
// 获取访问者的IP地址
String ipAddress = request.getRemoteAddr();
return "Your IP address is: " + ipAddress;
}
}
```

在上面的代码中,我们通过调用HttpServletRequest对象的`getRemoteAddr()`方法来获取访问者的IP地址,并将其返回给前端。

### 测试

接下来,我们可以启动SpringBoot应用,并访问 `/getIP` 接口来测试获取IP的功能。在浏览器中输入 `http://localhost:8080/getIP`,即可看到返回的IP地址信息。

现在,你已经学会了在SpringBoot中获取访问者的IP地址。希未这篇文章对你有所帮助!