스프링 부트 공식 레퍼런스를 한글로 번역한 문서입니다.
전체 목차는 여기에 있습니다.
목차
- 12.5.1. Secure Jersey endpoints with Spring Security
- 12.5.2. Use Jersey Alongside Another Web Framework
12.5. Jersey
12.5.1. Secure Jersey endpoints with Spring Security
Jersey 기반 웹 애플리케이션에서도, 스프링 MVC 기반 웹 애플리케이션을 보호할 때와 거의 동일한 방식으로 스프링 시큐리티를 사용할 수 있다. 하지만 Jersey에서 스프링 시큐리티의 메소드 레벨 시큐리티를 사용하려면 sendError(int)
가 아닌 setStatus(int)
를 사용하도록 설정해줘야 한다. 이렇게 해야 스프링 시큐리티가 클라이언트에게 인증authentication 또는 인가authorization 실패를 알리기도 전에 Jersey가 응답을 커밋해버리지 않는다.
다음 예제와 같이 애플리케이션에 정의한 ResourceConfig
빈에서 jersey.config.server.response.setStatusOverSendError
프로퍼티를 true
로 설정해야 한다:
@Component
public class JerseySetStatusOverSendErrorConfig extends ResourceConfig {
public JerseySetStatusOverSendErrorConfig() {
register(Endpoint.class);
setProperties(Collections.singletonMap("jersey.config.server.response.setStatusOverSendError", true));
}
}
12.5.2. Use Jersey Alongside Another Web Framework
Jersey를 스프링 MVC같은 다른 웹 프레임워크와 함께 사용하려면, Jersey가 처리할 수 없는 요청은 다른 프레임워크에서 처리할 수 있도록 설정해줘야 한다. 먼저 애플리케이션 프로퍼티 spring.jersey.type
을 filter
로 설정해서 Servlet이 아닌 Filter를 사용하도록 만들어라. 그 다음으로는 아래 예제처럼 ResourceConfig
를 404로 끝난 요청을 포워딩하도록 설정해줘라.
@Component
public class JerseyConfig extends ResourceConfig {
public JerseyConfig() {
register(Endpoint.class);
property(ServletProperties.FILTER_FORWARD_ON_404, true);
}
}
Next :HTTP Clients
HTTP 클라이언트와 관련된 how to 가이드 (RestTemplate에 프록시 설정하기, TcpClient 커스텀하기 등)
전체 목차는 여기에 있습니다.