요약
ScheduleSortType.from(String)에서 정렬 타입 값을 대문자로 정규화할 때 JVM 기본 로캘에 의존하지 않도록 수정합니다.
변경 필요 사항
src/main/java/com/kosa/fillinv/schedule/service/dto/ScheduleSortType.java의 ScheduleSortType.from(String)에서 value.toUpperCase() 대신 value.toUpperCase(Locale.ROOT)를 사용합니다.
사유
String.toUpperCase()는 JVM 기본 로캘을 사용합니다. 터키어 등 일부 로캘에서는 유효한 값인 start_time_asc가 enum 상수 START_TIME_ASC와 일치하지 않는 문자열로 변환될 수 있습니다. 이 경우 유효한 요청도 INVALID_ARGUMENT로 처리됩니다.
영향 범위
src/main/java/com/kosa/fillinv/schedule/service/dto/ScheduleSortType.java
- 필요 시 기본 로캘이 터키어인 경우를 검증하는 단위 테스트
완료 조건
ScheduleSortType.from(String)이 Locale.ROOT로 대소문자를 정규화합니다.
- 기본 로캘이 터키어여도
start_time_asc가 START_TIME_ASC로 변환됩니다.
- 기존의 null 또는 공백 기본값 처리와 잘못된 값의
INVALID_ARGUMENT 처리를 유지합니다.
참고
요약
ScheduleSortType.from(String)에서 정렬 타입 값을 대문자로 정규화할 때 JVM 기본 로캘에 의존하지 않도록 수정합니다.변경 필요 사항
src/main/java/com/kosa/fillinv/schedule/service/dto/ScheduleSortType.java의ScheduleSortType.from(String)에서value.toUpperCase()대신value.toUpperCase(Locale.ROOT)를 사용합니다.사유
String.toUpperCase()는 JVM 기본 로캘을 사용합니다. 터키어 등 일부 로캘에서는 유효한 값인start_time_asc가 enum 상수START_TIME_ASC와 일치하지 않는 문자열로 변환될 수 있습니다. 이 경우 유효한 요청도INVALID_ARGUMENT로 처리됩니다.영향 범위
src/main/java/com/kosa/fillinv/schedule/service/dto/ScheduleSortType.java완료 조건
ScheduleSortType.from(String)이Locale.ROOT로 대소문자를 정규화합니다.start_time_asc가START_TIME_ASC로 변환됩니다.INVALID_ARGUMENT처리를 유지합니다.참고