SuperAPI AI 工具集

unirest-java-3

编程与开发

查看项目

更新于 10-15 21:48

技能介绍

用途:Unirest-Java 3.x 是 Java 8+ 的 HTTP 客户端库,用于向 REST API 发起请求并处理响应,底层 HTTP 引擎为 Apache HttpClient 4,默认集成 GSON 作为 JSON 解析器。

主要能力:支持 GET、POST、PUT、DELETE、PATCH 等请求,提供流式 API;内置 GSON 完成 JSON 与对象映射,无需额外依赖;通过 CompletableFuture 支持异步请求;支持文件上传与进度监控、HTTP 客户端 Mock 测试、可配置淘汰策略的响应缓存、代理配置(简单、系统属性、按请求)、请求/响应拦截器、连接池调优 concurrency(total, perRoute)、独立于连接超时的 socket 超时、socket 错误自动重试 automaticRetries()、关闭钩子以及自定义 HostnameVerifier。

使用方式:Maven 依赖为 com.konghq:unirest-java:3.14.5,无需单独声明 JSON 模块。配置统一通过 Unirest.config() 完成,例如 connectTimeout(5000)、socketTimeout(10000)、concurrency(200, 20)、setDefaultHeader、setDefaultBasicAuth、followRedirects、verifySsl、enableCookieManagement、automaticRetries、proxy 等。请求示例:Unirest.get(url).asString()、Unirest.post(url).header("Content-Type","application/json").body(obj).asJson();支持 routeParam、queryString、field、basicAuth、asObject、asFile、asEmpty、asJsonAsync 等。可通过 Unirest.primaryInstance() 或 Unirest.spawnInstance() 管理多实例,自行创建的实例需自行关闭。

适用场景:Java 8+ 项目中调用 REST API、构建 API 客户端、需要内置 GSON、连接池调优、独立 socket 超时、自动重试、按请求代理或自定义 HostnameVerifier 的场景。

限制:不支持 HTTP/2(需用 4.x)、不支持 WebSocket 与 SSE、3.x 无自定义 executor 支持、无 Java Authenticator 集成、无 ProxySelector 支持。包名为 kong.unirest(非 4.x 的 kong.unirest.core)。