You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Java Spark微框架(非Apache Spark)调用REST API?

Java Spark微框架调用外部REST API(OkHttp实现方案)

完全可以使用OkHttp实现该需求,Spark微框架本身定位是轻量Web服务框架,仅负责处理接收到的HTTP请求、构造返回响应,不内置对外发起HTTP请求的能力,引入第三方HTTP客户端即可,OkHttp是适配性很高的选择。

1. 引入OkHttp依赖

Maven配置

<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.10.0</version>
</dependency>

Gradle配置

implementation 'com.squareup.okhttp3:okhttp:4.10.0'

2. 业务代码实现示例

直接在Spark的路由处理逻辑中嵌入OkHttp调用逻辑即可,和普通Java项目使用OkHttp的方式完全一致,没有额外适配要求:

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import static spark.Spark.*;

public class ExternalApiCallDemo {
    // 全局复用OkHttpClient实例,不要每次请求新建,避免重复创建连接池损耗性能
    private static final OkHttpClient HTTP_CLIENT = new OkHttpClient();

    public static void main(String[] args) {
        // 示例路由:触发调用谷歌API
        get("/call-google-api", (req, sparkRes) -> {
            // 构造外部API请求
            Request apiRequest = new Request.Builder()
                    .url("https://www.googleapis.com/your-target-api-path") // 替换为实际谷歌API地址
                    .addHeader("Authorization", "Bearer 你的接口认证令牌") // 按需添加请求头、认证参数
                    .build();

            try (Response apiResponse = HTTP_CLIENT.newCall(apiRequest).execute()) {
                if (!apiResponse.isSuccessful()) {
                    sparkRes.status(apiResponse.code());
                    return "调用外部接口失败:" + apiResponse.message();
                }
                // 拿到外部接口返回结果,可直接返回或做业务处理
                String result = apiResponse.body().string();
                sparkRes.type("application/json");
                return result;
            } catch (Exception e) {
                sparkRes.status(500);
                return "请求处理异常:" + e.getMessage();
            }
        });
    }
}

3. 注意事项

  • 如果需要发送POST、PUT等带请求体的请求,按照OkHttp标准用法构造RequestBody传入即可,无需额外适配Spark框架
  • 若外部接口耗时较长,可搭配Spark异步路由使用,避免阻塞框架的worker线程
  • 敏感配置如API密钥、认证令牌不要硬编码在代码中,建议放到配置文件中读取

内容的提问来源于stack exchange,提问作者PeeBee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 16:48:04