要在Java项目中调用DeepSeek API完成文本生成任务,必须先获取有效API密钥、构造符合要求的HTTP请求体,并正确处理流式响应或JSON返回结果;需添加OkHttp依赖,申请并安全存储API Key,构建含model和messages字段的JSON请求体,设置Authorization头,发送POST请求,校验响应码后解析choices[0].message.content获取回复。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Java项目中调用DeepSeek API完成文本生成任务,必须先获取有效API密钥、构造符合要求的HTTP请求体,并正确处理流式响应或JSON返回结果。
准备依赖和认证信息
在pom.xml中添加OkHttp依赖,这是最轻量且支持流式读取的HTTP客户端:
```xml
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.12.0</version>
</dependency>
```
从DeepSeek控制台申请API Key,保存为字符串变量;【该Key需严格保密,不可硬编码在源码中】。
构造基础POST请求
创建OkHttpClient实例,禁用重定向以避免敏感头信息泄露:
立即学习“Java免费学习笔记(深入)”;
```java
OkHttpClient client = new OkHttpClient.Builder()
.followRedirects(false)
.followSslRedirects(false)
.build();
```
设置请求头:Content-Type必须为application/json,Authorization字段格式为Bearer YOUR_API_KEY。
发送非流式请求(推荐初学者使用)
第一步:构建RequestBody,JSON中必须包含model、messages两个字段,messages是长度≥1的数组,role只能是system/user/assistant:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
```java
String json = "{\n" +
" \"model\": \"deepseek-chat\",\n" +
" \"messages\": [\n" +
" {\"role\": \"user\", \"content\": \"你好\"}\n" +
" ]\n" +
"}";
RequestBody body = RequestBody.create(json, MediaType.get("application/json; charset=utf-8"));```
第二步:发起同步请求,用execute()阻塞等待响应:
```java
Request request = new Request.Builder()
.url("https://api.deepseek.com/v1/chat/completions")
.post(body)
.addHeader("Authorization", "Bearer sk-xxx")
.build();
Response response = client.newCall(request).execute();```
第三步:检查响应码是否为200,再用response.body().string()读取完整JSON字符串;【若不校验response.isSuccessful()直接解析,空响应会抛出NullPointerException】。
解析返回的JSON内容
使用Jackson ObjectMapper将响应体反序列化为Map或自定义DTO对象。
提取message.content字段即可获得模型回复文本,注意嵌套路径为choices→0→message→content。
这一步操作起来很简单,直接把JSON字符串传给ObjectMapper.readValue()就行。


















