인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

JakeSeo서진규님의 프로필 이미지
JakeSeo서진규

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

스프링에 Converter 적용하기

두가지 질문이 있습니다.

작성

·

313

0

1. 컨버터에 우선순위 적용도 가능한가요?

예를들면 제가 숫자로 변환할 수 있는 문자가 들어오면 숫자로 변환하고,

특이한 숫자 예를 들어 '01000000000' 과 같은 형식의 데이터가 들어오면 전화번호로 컨버팅하는 컨버터를 등록하고 싶다면,

우선순위 설정이 가능한가요? 

2. 컨버터가 컨버팅 할 수 있는지는 어떻게 판단되는 건가요? 저는 canConvert 와 같은 메소드를 구현하지 않았는데, 스프링은 어떻게 제 컨버터가 사용 가능한지 판단할 수 있는 건가요?

답변 1

1

안녕하세요. JakeSeo서진규님, 공식 서포터즈 David입니다.
.
1. 컨버터의 등록 순서에 따라 우선순위가 바뀝니다. 다만, 질문주신 예시는 queryString에 전화번호를 위한 키를 하나 더 추가하고 컨트롤러에서 전화번호에 해당 하는 키를 받아오는 형태가 되어야 할 것 같습니다.

2. 핸들러 메서드의 정보(컨트롤러의 메서드 시그니처)를 바탕으로 컨버팅이 필요한지 판단합니다. 만약 컨버팅이 필요하다면 컨버터의 sourceType, targetType을 확인하여 적절한 컨버터를 찾아서 컨버팅해줍니다.

.

GenericConversionService

.
감사합니다.

감사합니다!

JakeSeo서진규님의 프로필 이미지
JakeSeo서진규

작성한 질문수

질문하기