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