-
[Restuful 학습] - 다국어처리 실습 및 예제SPRING/WEBSERVICE 2020. 8. 8. 15:57
package com.example.demo; import java.util.Locale; @SpringBootApplication public class RestStudyApplication { public static void main(String[] args) { SpringApplication.run(RestStudyApplication.class, args); } // 다국어 처리 (한국어 기본설정) @Bean public LocaleResolver localeResolver() { SessionLocaleResolver localeResolver = new SessionLocaleResolver(); localeResolver.setDefaultLocale(Locale.KOREA); return localeResolver; } }
다국어 처리 설정은 위와 같이 SpringBootApplication 파일에서 설정할 수 있다.
또한 위 스크린샷과 같이 각 언어에 맞게 messeage.properties 파일들을 생성하고, 설정할 메시지들을 등록해야한다.
package com.example.demo.helloworld; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.MessageSource; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RestController; import java.util.Locale; @RestController public class HelloWorldController { @Autowired private MessageSource messageSource; @GetMapping(path= "/hello-world-internationlized") public String helloWorldInternationalized( @RequestHeader(name="Accept-Language", required = false) Locale locale) { return messageSource.getMessage("greeting.message",null,locale); } }
위와 같이 messageSource의 메시지를 가져오는 메서드를 실행하면 Locale 값에 따라 다르게 설정파일(messages.properties 파일)을 읽어오는 것을 알 수있다.
Acceppt-Language를 en으로 설정하면 messages_en.properties를 읽어오고, fr로 설정하면 messages_fr.properties를 읽어온다.
테스트 결과 :
'SPRING > WEBSERVICE' 카테고리의 다른 글
[RESTFUL 학습] HAETAOS (0) 2020.08.23 [Restuful 학습] - 버전관리 (0) 2020.08.08 [Restuful 학습] - Validation 체크 (@Valid 사용) (0) 2020.08.08 [Restuful 학습] - DeleteMapping 실습 및 예제 (0) 2020.08.08 [Restuful 학습] - Exception 핸들링을 통한 HTTP STATUS Code 관리법 (ControllerAdvice 사용) (0) 2020.08.04