对接百度翻译API
最近有好多的词语大概几万吧, 需要翻译成英文的, 还不能直接都丢到百度翻译里面, 不然自己试一下~
注册百度账号
http://api.fanyi.baidu.com/api/trans/product/desktop?req=developer
完善个人开发者信息

引入Hutool工具库
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.5</version> </dependency>
复制工具类
package com.jd.knowledgeextractionplatform.xmind.model;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
import com.jd.knowledgeextractionplatform.utils.JacksonUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
@Component
public class BaiDuApi {
// 对接的api为百度翻译
private static final String TRANS_API_HOST = "http://api.fanyi.baidu.com/api/trans/vip/translate";
private static String appid = "20220726001284033";
private static String securityKey = "TB_WbVfZve00jrwvY0VM";
// 发送查询
private static String getTranslateResult(String query, String from, String to) {
Map<String, Object> params = new HashMap<>();
params.put("q", query);
params.put("from", from);
params.put("to", to);
params.put("appid", appid);
// 随机数
String salt = String.valueOf(System.currentTimeMillis());
params.put("salt", salt);
// 签名
String src = appid + query + salt + securityKey; // 加密前的原文
params.put("sign", SecureUtil.md5(src));
return HttpUtil.get(TRANS_API_HOST, params);
}
public static String convertToEn(String query){
String translateResult = getTranslateResult(query, "auto", "en");
JSONObject jsonObject = JSONObject.parseObject(translateResult);
String string = jsonObject.getJSONArray("trans_result").getJSONObject(0).getString("dst");
return string.toLowerCase(Locale.ROOT).replaceAll(" ", "_");
}
public static void main(String[] args) {
String translateResult = convertToEn("苹果");
System.out.println(translateResult);
}
}
填入AppId和SecurityKey

首页开通通用翻译服务
不然会报认证失败

执行翻译
apple
不然会报认证失败

浙公网安备 33010602011771号