Matrix Variable 설정 참고
Spring MVC 설정을 추가, 변경하기 위해 사용하는 인터페이스
WebMvcConfigurer 인터페이스는 CORS, Interceptor, ViewResolver, MessageConverter 등 여러가지 설정을 변경, 추가할 수 있게 도와준다.
WebMvcConfigurer
인터페이스내 메소드들은 default 로 선어돼 있어 필요한 것만 구현하면 된다.
- add~: 기본 설정이 없는 Bean에 대하여 새로운 설정 Bean을 추가함
- configure~: 기존 설정 대신 새롭게 정의한 설정 Bean을 사용한다. (set 메소드)
- extend~: 기존 설정에 새롭게 정의한 설정 Bean을 추가한다. (add 메소드)
WebMvcConfigurer.java
public interface WebMvcConfigurer { default void configurePathMatch(PathMatchConfigurer configurer) {} default void configureContentNegotiation(ContentNegotiationConfigurer configurer) {} default void configureAsyncSupport(AsyncSupportConfigurer configurer) {} default void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {} default void addFormatters(FormatterRegistry registry) {} default void addInterceptors(InterceptorRegistry registry) {} default void addResourceHandlers(ResourceHandlerRegistry registry) {} default void addCorsMappings(CorsRegistry registry) {} default void addViewControllers(ViewControllerRegistry registry) {} default void configureViewResolvers(ViewResolverRegistry registry) {} default void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {} default void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> handlers) {} default void configureMessageConverters(List<HttpMessageConverter<?>> converters) {} default void extendMessageConverters(List<HttpMessageConverter<?>> converters) {} default void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> resolvers) {} default void extendHandlerExceptionResolvers(List<HandlerExceptionResolver> resolvers) {} @Nullable default Validator getValidator() {return null;} @Nullable default MessageCodesResolver getMessageCodesResolver() {return null;} }
|
CORS 설정
Spring Boot 에서는 기본적으로 CORS에 대한 설정이 없기 때문에 CORS 를 사용하기 위해서는 WebMvcConfigurer 내 addCorsMappings 메소드를 이용해 설정해줘야 한다.
@Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("*"); }
|
Matrix Variable 사용 설정
Spring Boot 에서 매트릭 형태의 변수를 사용하기 위해서 기존에 true인 removeSemicolonContent 설정을 false로 변경해야 한다. WebMvcConfigurer 내 configurePathMatch 메소드를 이용해 기존 설정을 변경한다.
@Configuration public class WebConfig implements WebMvcConfigurer {
@Override public void configurePathMatch(PathMatchConfigurer configurer) { UrlPathHelper urlPathHelper = new UrlPathHelper(); urlPathHelper.setRemoveSemicolonContent(false); configurer.setUrlPathHelper(urlPathHelper); } }
|