Written on
·
352
0
1. 컨버터에 우선순위 적용도 가능한가요?
예를들면 제가 숫자로 변환할 수 있는 문자가 들어오면 숫자로 변환하고,
특이한 숫자 예를 들어 '01000000000' 과 같은 형식의 데이터가 들어오면 전화번호로 컨버팅하는 컨버터를 등록하고 싶다면,
우선순위 설정이 가능한가요?
2. 컨버터가 컨버팅 할 수 있는지는 어떻게 판단되는 건가요? 저는 canConvert 와 같은 메소드를 구현하지 않았는데, 스프링은 어떻게 제 컨버터가 사용 가능한지 판단할 수 있는 건가요?
Answer 1
1
안녕하세요. JakeSeo서진규님, 공식 서포터즈 David입니다.
.
1. 컨버터의 등록 순서에 따라 우선순위가 바뀝니다. 다만, 질문주신 예시는 queryString에 전화번호를 위한 키를 하나 더 추가하고 컨트롤러에서 전화번호에 해당 하는 키를 받아오는 형태가 되어야 할 것 같습니다.
2. 핸들러 메서드의 정보(컨트롤러의 메서드 시그니처)를 바탕으로 컨버팅이 필요한지 판단합니다. 만약 컨버팅이 필요하다면 컨버터의 sourceType, targetType을 확인하여 적절한 컨버터를 찾아서 컨버팅해줍니다.
.
GenericConversionService
.
감사합니다.
감사합니다!