第一步:根据api文档,先生成api秘钥
https://cloud.tencent.com/document/product/551/16611
第二步:编写http请求工具类,网上有很多
第三步:编写返回结果的实体类
package com.central.util.tencent;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
@Data
public class TencentResult {
/**
* 翻译后的文本
*/
private String TargetText;
private String Source;//源语言
private String Target;//目标语言
private String RequestId;//唯一请求ID,每次请求都会返回
}
第五步:编写翻译工具类,借鉴了某位大神的代码,自己加以修改了一下
package com.central.util.tencent;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.central.util.baidu.HttpUtil;
import com.central.util.baidu.TransResult;
import com.google.common.collect.Maps;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.RandomUtils;
import springfox.documentation.spring.web.json.Json;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
public class TencentTrans {
private static final String TRANS_API_HOST = "https://tmt.tencentcloudapi.com/";
private static final Charset UTF_8 = StandardCharsets.UTF_8;
private static final String SECRET_ID = "#######";//填写自己的SECRET_ID
private static final String SECRET_KEY = "############";//填写自己SECRET_KEY
public static String getTransResult(String content,String from ,String to) throws IOException {
Map<String,String> params = buildParams(content,from,to);
JSONObject jsonObject = null;
//译文长度大于2000&#