百度翻译API使用教程(前端+后端)

作者 : admin 本文共2200个字,预计阅读时间需要6分钟 发布时间: 2023-06-10 共1人阅读

1.资格获取

首先我们需要登录百度翻译开放平台,获取开发者资格:

访问

百度翻译开放平台

然后进行注册(如果有百度账号的话可以直接登录)

注册成功后点击“产品服务”:

百度翻译API使用教程(前端+后端)插图

跳转到通用文本API界面:

百度翻译API使用教程(前端+后端)插图(1)

在页面底部点击“立即使用”即可选择服务进行使用

通用文本API有三种服务可供选择:

百度翻译API使用教程(前端+后端)插图(2)

个人用户可以使用前两种,高级版的使用需要个人认证(实名认证)

2.简单使用

点击“管理控制台”,打开“开发者信息”界面:

百度翻译API使用教程(前端+后端)插图(3)

即可看到你的APP ID和密钥信息,在调用接口的时候需要用到;

点击“我的服务”中的通用文本翻译,即可看到服务使用情况及明细

百度翻译API使用教程(前端+后端)插图(4)

如果对于翻译的术语有特殊要求,可以点击“我的语料库”,并新建术语库:

百度翻译API使用教程(前端+后端)插图(5)

这样我们设置的术语即可干预翻译结果;

3.编程实现

百度翻译开放平台

前往以上网址查看通用翻译API的开发文档

3.1 前端代码

开发环境:Vue.js + Uniapp

(uniapp快速上手:uni-app官网)

通过一个文本输入框接受输入内容,然后调用后端接口,进行翻译:


  
    
		
  	
  	
    
    
			
			
				
			
			
		
  



  

需要传往后端的请求参数有:

百度翻译API使用教程(前端+后端)插图(6)

3.2 后端代码

开发环境:springboot + Hutools

我使用的是正式版的idea,社区版的springBoot需要自己搭建,搭建教程可以自行搜索,需要使用正式版idea可以参考评论区的地址进行下载;

首先创建springBoot项目:

百度翻译API使用教程(前端+后端)插图(7)

仓库管理以及JDK版本视自己情况而定,本示例中用的是Maven仓库,JDK17;

SpringBoot版本默认即可,可以勾选上Spring Web:

注意:3.1.0版本的springboot可能需要使用JDK17才行

百度翻译API使用教程(前端+后端)插图(8)

使用Maven的话需要本地安装maven,到file-settings-Mavens中查看是否有本地maven,如果需要修改的话改一下maven的路径以及settings.xml配置文件的路径;对于maven的安装这里不再赘述,其他教程很多,如果遇到问题可以留言

百度翻译API使用教程(前端+后端)插图(9)

其次如果遇到JDK版本的问题,可以打开file-project Structure,查看project和modules的JDK、SDK版本

要确保版本统一(因为如果安装过多个版本的JDK,可能初始化的时候会有问题)

百度翻译API使用教程(前端+后端)插图(10)

配置完成后可以启动Application查看是否正常

然后在pom.xml文件中导入Hutools的依赖:


  cn.hutool
  hutool-all
  5.7.16

(Hutools是一个Java工具类库,还是挺好用的)

之后就可以进行接口开发了,代码如下:

@RestController
public class TranslationController {

    @PostMapping("/translate")
    public Object translate(@RequestBody Map data)
    {
        //获取请求参数
        String q = data.get("q");
        String from = data.get("from");
        String to = data.get("to");
        //随机数
        Random random = new Random(10);
        String salt = Integer.toString(random.nextInt());
        //MD5加密
        //自定义的全局变量 appid和密钥
        String appid = BaiduContent.APPID + q + salt + BaiduContent.SECRET;
        String sign = SecureUtil.md5(appid);

        //封装请求参数
        MultiValueMap paramMap = new LinkedMultiValueMap();
        paramMap.add("q",q);
        paramMap.add("from",from);
        paramMap.add("to",to);
        paramMap.add("appid",BaiduContent.APPID);
        paramMap.add("salt",salt);
        paramMap.add("sign",sign);
        String url = "http://api.fanyi.baidu.com/api/trans/vip/translate";
        //封装请求头
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);

        HttpEntity<MultiValueMap> httpEntity = new HttpEntity(paramMap,headers);

        //调用百度翻译API,发送请求,得到结果
        RestTemplate restTemplate = new RestTemplate();
        ResponseEntity response = restTemplate.postForEntity(url, httpEntity, Object.class);

        return response.getBody();
    }
    
}

首先接受前端传来的请求参数,然后参照开发文档即可;

请求翻译接口的参数如下:

百度翻译API使用教程(前端+后端)插图(11)

sign的设置开发文档里写的也很详细:

百度翻译API使用教程(前端+后端)插图(12)

示例代码中使用的是POST请求方式,注意按照开发文档中的要求配置:

百度翻译API使用教程(前端+后端)插图(13)

接口请求成功后即可得到翻译结果返回给前端进行展示了

4.结果展示

百度翻译API使用教程(前端+后端)插图(14)

输入内容——点击翻译——展示翻译结果

如果有什么问题,欢迎留言讨论,作者也是初学者,如果有错误的话欢迎指正~

本站无任何商业行为
个人在线分享 » 百度翻译API使用教程(前端+后端)
E-->