번역 - 지원되지 않는 언어이면 API를 호출하지 않고 빈 값을 반환하도록 수정
This commit is contained in:
@@ -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"
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user