[java] Java Jersey에서 요청의 IP 주소 또는 사용자 에이전트 정보를 추출하는 방법은?

Jersey는 Java에서 RESTful 웹 서비스를 구축하기위한 프레임워크입니다. Jersey를 사용하여 클라이언트의 IP 주소 또는 사용자 에이전트 정보를 추출하는 방법은 다음과 같습니다.

IP 주소 추출하기:

import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.Context;

@Path("/example")
public class ExampleResource {

    @GET
    public String getIpAddress(@Context HttpServletRequest request) {
        String ipAddress = request.getRemoteAddr();
        return "클라이언트의 IP 주소: " + ipAddress;
    }
}

위의 예제에서 @Context HttpServletRequest request 어노테이션을 사용하여 HttpServletRequest 객체를 주입 받습니다. request.getRemoteAddr() 메소드를 사용하여 클라이언트의 IP 주소를 가져올 수 있습니다.

사용자 에이전트 정보 추출하기:

import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.Context;

@Path("/example")
public class ExampleResource {

    @GET
    public String getUserAgent(@Context HttpServletRequest request) {
        String userAgent = request.getHeader("User-Agent");
        return "사용자 에이전트 정보: " + userAgent;
    }
}

마찬가지로 @Context HttpServletRequest request 어노테이션을 사용하여 HttpServletRequest 객체를 주입 받습니다. request.getHeader("User-Agent") 메소드를 사용하여 클라이언트의 사용자 에이전트 정보를 가져올 수 있습니다.

위의 코드 예제에서 주의해야 할 점은 배포 환경에 따라 HttpServletRequest 객체를 가져오기 위해 Jersey에서 제공하는 지원이 필요할 수 있다는 것입니다.