diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/common/client/YouDaoFeignClient.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/common/client/YouDaoFeignClient.java index 35f35279..fa077ff8 100644 --- a/xjs-business/xjs-business-english/src/main/java/com/xjs/common/client/YouDaoFeignClient.java +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/common/client/YouDaoFeignClient.java @@ -2,6 +2,7 @@ package com.xjs.common.client; import com.alibaba.fastjson.JSONObject; import com.xjs.common.aop.ApiLog; +import com.xjs.common.client.factory.YouDaoFeignFactory; import com.xjs.translation.domain.qo.translation.YouDaoTranslationQo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.SpringQueryMap; @@ -12,7 +13,7 @@ import org.springframework.web.bind.annotation.GetMapping; * @desc 有道翻译接口api调用 * @create 2021-12-25 */ -@FeignClient(name = "youdao",url = "http://fanyi.youdao.com/translate?") +@FeignClient(name = "youdao",url = "http://fanyi.youdao.com/translate?",fallbackFactory = YouDaoFeignFactory.class) public interface YouDaoFeignClient { @GetMapping( headers ={ "Accept-Encoding=''"}) diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/factory/impl/YouDaoTranslationFactory.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/factory/impl/YouDaoTranslationFactory.java index f9bea0af..bff7241e 100644 --- a/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/factory/impl/YouDaoTranslationFactory.java +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/factory/impl/YouDaoTranslationFactory.java @@ -31,7 +31,8 @@ public class YouDaoTranslationFactory implements TranslationFactory { YouDaoTranslationQo youDaoTranslationQo = new YouDaoTranslationQo(); youDaoTranslationQo.setI(translationQo.getQ()); JSONObject translationApi = youDaoFeignClient.translationApi(youDaoTranslationQo); - if(!"0".equals(translationApi.getString("errorCode"))){ + //接口内部错误以及网络错误都抛异常 + if(!"0".equals(translationApi.getString("errorCode"))|| translationApi.containsKey("error") ){ throw new ApiException("有道翻译接口调用异常"); } String type = translationApi.getString("type");