[Springboot] Base URL(Context-path) 설정 방법

    개발을 할 때 Base URL을 매번 Controller에서 설정하는 것은 여간 귀찮은 것이 아니다. 그리고 Base URL이 바뀔 경우 모든 클래스를 다 수정하는 것도 문제가 될 수 있다. Spring boot에서는 매우 간단하게 Base URL을 설정하는 방법을 제공한다.

     

    예제

    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    
    @Controller
    public class RestController {
    	
    	@RequestMapping("/rest/v1/test")
    	@ResponseBody
    	public String test() {
    		return "test";
    	}
    }

     

    위와 같이 Controller의 method에 /rest/v1/test를 지정하였을 때, /rest/v1이 공통으로 들어간다면, 일반적으로는 class 상단에 Base URL을 넣어서 호출을 하게 된다.

     

    @Controller
    @RequestMapping("/rest/v1")
    public class RestController {
    	
    	@RequestMapping("test")
    	@ResponseBody
    	public String test() {
    		return "test";
    	}
    	
    	@RequestMapping("test2")
    	@ResponseBody
    	public String test2() {
    		return "test2";
    	}
    }

    위는 Base URL을 넣은 예제이며, 이 예제들에 맞게 각각 /rest/v1/test, /rest/v2/test2를 요청하게 되면

     

    test2를 요청한 상태

     

    이렇게 Base URL 잘 작동되는 것을 확인할 수 있다. 이 방법은 버전별로 관리하기에 용이할 수 있지만, 모든 클래스가 공통으로 쓰는 URL이 있고 최상단의 설정에서 끝이 난다면 해당 방식을 쓰는 것이 가장 심플할 것이다.

     

     

    Config로 Base URL 설정하기

    application.properties

    server.servlet.context-path=/rest/v1

    위 설정은 스프링부트 2.1 버전 이상부터 지원이 되는 방식이다.

     

    Server Properties 설정 방법

     

    자세한 설정 부분은 아래 스프링 설정 참고자료[1]를 확인하면 어떤 부분들을 써야 될지 알 수 있을 것이다.

     

    Context-path로 Base URL이 작동되는 캡쳐화면

     

    참고자료

    [1] https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html

     

    반응형

    댓글

    Designed by JB FACTORY