Internationaliztion
@Configuration 등록
usuage
@SpringBootApplication
public class WebserviceApplication {
public static void main(String[] args) {
SpringApplication.run(WebserviceApplication.class, args);
}
@Bean
public LocaleResolver localeResolver() {
SessionLocaleResolver localeResolver = new SessionLocaleResolver();
localeResolver.setDefaultLocale(Locale.KOREA);
return localeResolver;
}
}
springbootapplication에 스프링 빈을 추가한다.
스프링부트가 초기화할때, 같이 사용이 가능하게 한다.
application.properties에 다음코드 추가
spring.messages.basename =messages
그런다음 messages를 이름으로 한 properties파일을 resources에 생성
messages_fr.properties
greeting.message = Bonjour
messages.properties
greeting.message = 안녕하세요
프랑스어,한국어등으로 등록한다. 단 개별파일로 등록해야한다.
@Autowired
private MessageSource messageSource;
@GetMapping("/hello-world-internationalized")
public String helloWorldIdInternationalized(@RequestHeader(name ="Accept-Language",required = false)Locale locale ) {
return messageSource.getMessage("greeting.message",null,locale);
}
header에 en을 붙이니 정상적으로 출력이된다.
하지만 Accept-Launguage 없이 보내면 한국어가 나와야한느데 ????만 뜬다 ㅜ 왜그렇지
'RESTful' 카테고리의 다른 글
Rest API version 관리(URI) (0) | 2022.01.16 |
---|---|
@JsonFilter (0) | 2022.01.16 |
@JsonIgnore (jackson) (0) | 2022.01.16 |
Validation (0) | 2022.01.14 |
Client 요청 예외처리하기(Status code) (0) | 2022.01.14 |