Loading...
Spring Framework Reference Documentation 7.0.2의 Type Conversion의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
String 기반 요청 입력을 나타내는 일부 어노테이션이 달린 컨트롤러 메서드 argument(예:
@RequestParam, @RequestHeader, @PathVariable, @MatrixVariable, 그리고 @CookieValue)
는 argument가 String 이외의 것으로 선언된 경우 타입 변환이 필요할 수 있습니다.
이러한 경우에 대해 타입 변환은 설정된 컨버터에 기반하여 자동으로 적용됩니다.
기본적으로 simple 타입(int, long, Date 및 기타)이 지원됩니다. WebDataBinder
(DataBinder 참조)를 통해 타입 변환을 커스터마이즈하거나
FormattingConversionService에 Formatters를 등록할 수 있습니다.
Spring Field Formatting을 참조하십시오.
타입 변환에서의 실질적인 문제는 empty String 소스 값의 처리입니다.
이러한 값은 타입 변환 결과가 null이 되는 경우 missing으로 처리됩니다.
이는 Long, UUID 및 기타 target 타입의 경우일 수 있습니다. null이 주입되도록 허용하려면
argument 어노테이션의 required 플래그를 사용하거나 argument를 @Nullable로 선언하십시오.
5.3부터는 타입 변환 이후에도 non-null argument가 강제됩니다. 핸들러<br>메서드가 null 값도 허용하려는 경우, argument를
@Nullable로 선언하거나<br>해당@RequestParam등의 어노테이션에서required=false로 표시하십시오. 이는<br>모범 사례이며 5.3 업그레이드에서 발생하는 회귀에 대한 권장 해결책입니다.<br>또는 예를 들어 required@PathVariable의 경우 발생하는MissingPathVariableException<br>을 명시적으로 처리할 수도 있습니다. 변환 이후의 null 값은 empty original 값과<br>동일하게 처리되므로, 해당하는Missing…Exception변형이 throw됩니다.
Return Values
Matrix Variables