번역 - 지원되지 않는 언어이면 API를 호출하지 않고 빈 값을 반환하도록 수정

This commit is contained in:
2025-12-12 01:00:41 +09:00
parent 143ba2fbb2
commit 5bdb6d20a5

View File

@@ -24,7 +24,9 @@ class PapagoTranslationService(
return TranslateResult(emptyList())
}
validateLanguages(request.sourceLanguage, request.targetLanguage)
if (!validateLanguages(request.sourceLanguage, request.targetLanguage)) {
return TranslateResult(emptyList())
}
val headers = HttpHeaders().apply {
contentType = MediaType.APPLICATION_JSON
@@ -63,34 +65,20 @@ class PapagoTranslationService(
return TranslateResult(translatedTexts)
}
private fun validateLanguages(sourceLanguage: String, targetLanguage: String) {
requireSupportedLanguage(sourceLanguage)
requireSupportedLanguage(targetLanguage)
private fun validateLanguages(sourceLanguage: String, targetLanguage: String): Boolean {
return requireSupportedLanguage(sourceLanguage) && requireSupportedLanguage(targetLanguage)
}
private fun requireSupportedLanguage(language: String) {
private fun requireSupportedLanguage(language: String): Boolean {
val normalized = language.lowercase()
if (!SUPPORTED_LANGUAGE_CODES.contains(normalized)) {
throw IllegalArgumentException("지원하지 않는 언어 코드입니다: $language")
}
return SUPPORTED_LANGUAGE_CODES.contains(normalized)
}
companion object {
private val SUPPORTED_LANGUAGE_CODES = setOf(
"ko",
"en",
"ja",
"zh-cn",
"zh-tw",
"es",
"fr",
"vi",
"th",
"id",
"de",
"ru",
"pt",
"it"
"ja"
)
}
}