说明:1、有道翻译接口降级处理

This commit is contained in:
xjs 2021-12-28 14:38:36 +08:00
parent 0f36d3e0fe
commit a1a047efa4
2 changed files with 4 additions and 2 deletions

View File

@ -2,6 +2,7 @@ package com.xjs.common.client;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.xjs.common.aop.ApiLog; import com.xjs.common.aop.ApiLog;
import com.xjs.common.client.factory.YouDaoFeignFactory;
import com.xjs.translation.domain.qo.translation.YouDaoTranslationQo; import com.xjs.translation.domain.qo.translation.YouDaoTranslationQo;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.cloud.openfeign.SpringQueryMap;
@ -12,7 +13,7 @@ import org.springframework.web.bind.annotation.GetMapping;
* @desc 有道翻译接口api调用 * @desc 有道翻译接口api调用
* @create 2021-12-25 * @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 { public interface YouDaoFeignClient {
@GetMapping( headers ={ "Accept-Encoding=''"}) @GetMapping( headers ={ "Accept-Encoding=''"})

View File

@ -31,7 +31,8 @@ public class YouDaoTranslationFactory implements TranslationFactory {
YouDaoTranslationQo youDaoTranslationQo = new YouDaoTranslationQo(); YouDaoTranslationQo youDaoTranslationQo = new YouDaoTranslationQo();
youDaoTranslationQo.setI(translationQo.getQ()); youDaoTranslationQo.setI(translationQo.getQ());
JSONObject translationApi = youDaoFeignClient.translationApi(youDaoTranslationQo); JSONObject translationApi = youDaoFeignClient.translationApi(youDaoTranslationQo);
if(!"0".equals(translationApi.getString("errorCode"))){ //接口内部错误以及网络错误都抛异常
if(!"0".equals(translationApi.getString("errorCode"))|| translationApi.containsKey("error") ){
throw new ApiException("有道翻译接口调用异常"); throw new ApiException("有道翻译接口调用异常");
} }
String type = translationApi.getString("type"); String type = translationApi.getString("type");