[java] Java Jersey에서 특정 경로에 대한 요청을 다른 엔드포인트로 리디렉션하는 방법은?

우선, 다음과 같이 javax.ws.rs.core.Response 클래스의 redirect() 메서드를 사용하여 리디렉션을 수행할 수 있습니다.

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriBuilder;
import javax.ws.rs.core.UriInfo;

@Path("/original")
public class RedirectResource {

    @GET
    public Response redirect(UriInfo uriInfo) {
        // 리디렉션할 도착지 URL을 가져옵니다.
        UriBuilder uriBuilder = uriInfo.getBaseUriBuilder().path("new");

        // 다른 엔드포인트로 리디렉션합니다.
        return Response.seeOther(uriBuilder.build()).build();
    }

}

위 코드에서는 /original 경로로 요청이 들어오면 /new 엔드포인트로 리디렉션됩니다. 이때, UriInfo 객체를 통해 현재 요청의 기본 URI 정보를 가져올 수 있습니다.

이제 이 리디렉션 기능을 사용하는 JAX-RS 애플리케이션에 대해 빌드하고 배포하면 됩니다.

이와 같이 Java Jersey에서 특정 경로에 대한 요청을 다른 엔드포인트로 리디렉션하는 방법을 살펴보았습니다.

참고 문서: