Language/Spring

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

The Neo 2022. 1. 10. 13:27

개발을 할 때 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

 

반응형