ranchat 개발을 하는데 모바일쪽 뷰도 추가하기 위해서 각 접속된 기기를 구별할 필요가 생겼어요.
그래서 추가한 스프링 디바이스 리졸버!
우선 제 환경은 Gradle 과 SpringBoot를 사용하고 있어요.
gradle에 dependency 를 추가해줘요.
compile group: 'org.springframework.mobile', name: 'spring-mobile-device', version: '1.1.5.RELEASE'
인터셉터를 추가 해줘요.
//spring mobile 인터셉터 세팅
@Bean
public DeviceResolverHandlerInterceptor deviceResolverHandlerInterceptor() {
return new DeviceResolverHandlerInterceptor();
}
//인터셉터를 스프링 설정에 추가
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(deviceResolverHandlerInterceptor());
}
java설정을 이용했어요. @Configuration 어노테이션이 붙은 자바설정에 추가 해주시면 됩니다~
HttpServletRequest를 이용하여 접속 device 를 가져와요.
@GetMapping("/test")
public String test(HttpServletRequest request) {
Device device = DeviceUtils.getCurrentDevice(request);
if(device.isMobile()) {
logger.info("mobile");
}else if(device.isTablet()) {
logger.info("tablet");
}else {
logger.info("else");
}
}
각 디바이스 별로 조건을 통해 확인할 수 있어요.
'SPRING' 카테고리의 다른 글
Spring Rest Docs 사용법 (0) | 2021.05.02 |
---|---|
Spring Batch (0) | 2021.04.28 |
Spring RestTemplate (0) | 2021.04.20 |
스프링 비동기 타임아웃 설정 변경 (0) | 2020.11.23 |
spring 예외 핸들링 (0) | 2020.11.22 |