java翻译api小程序
时间: 2025-05-08 10:51:48 浏览: 21
### 使用Java编写一个翻译API的小程序
为了实现基于Java的翻译API小程序,可以采用Spring Boot框架来构建后端服务。此框架简化了快速开发RESTful Web服务的过程。下面展示了一个简单的例子,该例子提供了一项HTTP GET请求的服务,用于调用第三方翻译API并返回翻译后的文本。
#### 创建Spring Boot项目
首先,在本地环境中设置好JDK以及Maven或Gradle之后,通过Spring Initializr创建一个新的Spring Boot应用,并添加必要的依赖库,比如`spring-boot-starter-web`以便支持Web功能。
#### 编写控制器类
定义一个名为`TranslationController.java`的文件作为处理客户端请求的主要入口点:
```java
package com.example.translation;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
@RestController
public class TranslationController {
private static final String API_KEY = "your_api_key_here"; // 替换成实际使用的API密钥
private static final String BASE_URL = "https://api-free.deepl.com/v2/translate";
@GetMapping("/translate")
public String translate(@RequestParam(value="text") String text,
@RequestParam(value="targetLang", defaultValue="EN") String targetLang){
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "DeepL-Auth-Key "+API_KEY);
HttpEntity<String> entity = new HttpEntity<>("Parameters",headers);
ResponseEntity<String> responseEntity =
restTemplate.exchange(BASE_URL+"?auth_key="+API_KEY+"&text="+text+"&target_lang="+targetLang, HttpMethod.POST, entity, String.class)[^1];
return parseResponse(responseEntity.getBody());
}
private String parseResponse(String responseBody) {
// 解析来自翻译API响应的内容逻辑...
// 这里假设直接提取JSON中的'translations'字段下的第一个对象的文字部分
try{
JSONObject jsonObject = new JSONObject(responseBody);
JSONArray translationsArray =jsonObject.getJSONArray("translations");
if (translationsArray.length() > 0) {
JSONObject firstTranslation = translationsArray.getJSONObject(0);
return firstTranslation.getString("text");
}
}catch(Exception e){
System.out.println(e.getMessage());
}
return "";
}
}
```
上述代码片段展示了如何接收用户的输入参数(待翻译文本和目标语言),并通过RestTemplate向外部翻译API发送POST请求获取翻译结果。注意这里的BASE_URL指向的是Deepl提供的免费版API地址;对于其他提供商,则需相应调整URL和其他配置选项。
此外,还需要导入所需的包,如org.json.* 来解析JSON格式的数据。如果使用Maven管理依赖关系的话,可以在pom.xml中加入如下声明:
```xml
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20210307</version>
</dependency>
```
最后一步就是启动应用程序测试接口是否正常工作。可以通过浏览器访问http://localhost:8080/translate?text=hello&targetLang=ZH查看效果。
阅读全文
相关推荐

















