[Spring] RestController 클래스에서 리다이렉트 시키는 방법

AlBan·2021년 3월 17일
4

Spring

목록 보기
2/13
post-thumbnail

OAuth 2.0을 공부하며 여러가지 시도를 하던 중 OAuth2 서비스를 제공하는 페이지로 리다이렉트를 시켜주어야 했다.

Spring Boot를 사용하여 Controller 클래스를 작성할 때는 항상 @RestController를 사용해 클래스를 작성해왔기 때문에 클라이언트를 리다이렉트 시키는 방법을 잊고 있었으나 검색을 통해 실마리를 찾았다

@RestController를 이용해 Rest API를 제공하는 Controller 클래스에서 사용자를 리다이렉트 시키려면 HttpServletResponse를 파라미터로 받는 메서드를 작성해 HttpResponse 객체를 사용하면 된다.

@RestController
@RequestMapping("/oauth")
public class OAuthController{
	//...
    
    @GetMapping("/google")
    public void oauthLogin(HttpServletResponse response){
    	String redirect_uri="http://www.google.com";
    	response.sendRedirect(redirect_uri);
    }
    
    //...
}

위와 같이 메서드를 작성하게 되면, 사용자가 /oauth/google경로로 접근하였을 때, spring은 google.com경로로 클라이언트를 리다이렉트 시키게 된다.

profile
[Spring, React를 공부하는 끈질긴 개발자 지망생] 잊어버리지 않도록! 정리 또 정리!

0개의 댓글