Spring RESTful API 获取客户信息

Spring RESTful API getting client information

我一直在使用本指南: https://spring.io/guides/gs/rest-service 创建一个 RESTFul 网络服务,我遇到的问题是我不知道如何获取诸如客户端 IP 地址之类的信息,这个 API 是否可行?

谢谢,

在您的 Spring Rest Controller 中,您可以添加 HttpServletRequest 以获取客户端信息。

例子

@GetMapping("/dummyurl")
public Boolean syncWithServNow(HttpServletRequest httpReq, @RequestParam("username") String username) {
    System.out.println(httpReq.getRemoteAddr());  // Line 1
}

在大多数情况下它会起作用。万一像 url 由 Web 服务器通过代理服务器访问,或者具有负载平衡器,这就可以了。

httpReq.getHeader("X-FORWARDED-FOR");