sttp
1,506
Stars
339
Forks
35
Watchers
22
Open Issues
Apache-2.0
许可证
Scala
语言
2017-06-30
创建时间
2026-11-12
最近更新
项目能做什么
sttp 是一款专为 Scala 设计的 HTTP 客户端库。它解决了 Scala 生态中网络请求调用繁琐、技术栈割裂的问题。核心功能包括:提供统一易用的 API,支持同步、Future 及各类函数式 Effect(如 cats-effect、ZIO);兼容 OkHttp 等多种底层后端;支持 URI 插值、JSON 自动编解码、流式传输、文件收发与 WebSocket。
来源:基于仓库元数据
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
 [](https://softwaremill.community/c/sttp-client) [](https://github.com/softwaremill/sttp/actions?query=workflow%3ACI+branch%3Amaster) [](https://maven-badges.herokuapp.com/maven-central/com.softwaremill.sttp.client4/core_3) # The Scala HTTP client you always wanted! ## Welcome! sttp client is an open-source HTTP client for Scala, supporting various approaches to writing Scala code: synchronous (direct-style), `Future`-based, and using functional effect systems (cats-effect, ZIO, Monix, Kyo, scalaz). The library is available for Scala 2.12, 2.13 and 3. Supported platforms are the JVM (Java 11+ for Scala 2, Java 17+ for Scala 3), Scala.JS and Scala Native. Here's a quick example of sttp client in action, runnable using [scala-cli](https://scala-cli.virtuslab.org): ```scala //> using dep com.softwaremill.sttp.client4::core:4.1.1 import sttp.client4.quick.* @main def run(): Unit = println(quickRequest.get(uri"http://httpbin.org/ip").send()) ``` sttp client addresses common HTTP client use cases, such as interacting with JSON APIs (with automatic serialization of request bodies and deserialization of response bodies), uploading and downloading files, submitting form data, handling multipart requests, and working with WebSockets. The driving principle of sttp client's design is to provide a clean, programmer-friendly API to describe HTTP requests, along with response handling. This ensures that resources, such as HTTP connections, are used safely, also in the presence of errors. sttp client integrates with a number of lower-level Scala and Java HTTP client implementations through backends (using Java's `HttpClient`, Akka HTTP, Pekko HTTP, http4s, OkHttp, Armeria), offering a wide range of choices when it comes to protocol support, connectivity settings and programming stack compatibility. Additionally, sttp client seamlessly integrates with popular libraries for JSON handling (e.g., circe, uPickle, jsoniter, json4s, play-json, ZIO Json), logging, metrics, and tracing (e.g., slf4j, scribe, OpenTelemetry, Prometheus). It also supports streaming libraries (e.g., fs2, ZIO Streams, Akka Streams, Pekko Streams) and provides tools for testing HTTP interactions. Some more features: URI interpolation, a self-managed backend, and type-safe HTTP error/success representation, are demonstrated by the below example: ```scala //> using dep com.softwaremill.sttp.client4::core:4.1.1 import sttp.client4.* @main def sttpDemo(): Unit = val sort: Option[String] = None val query = "http language:scala" // the `query` parameter is automatically url-encoded // `sort` is removed, as the value is not define阅读完整原文
项目深度分析 规则生成(AI 未配置)
综合评分 60.2 分。该项目在“个人可实施性”维度得 30 分,“付费可能性”维度得 60.0 分,差异化空间 100.0 分(评分依据见评分卡)。
将 sttp 改造为垂直场景 SaaS
| 产品构想 | 保留核心能力,针对某一类用户(如某行业团队)做托管版,收取月费。 |
| 目标用户 | 有该需求的中小团队 / 独立站长 |
| 难度/周期 | 较高 · 2~4 周(MVP) |
| 收费模式 | 订阅制(如 ¥29~99/月) |
| 竞争风险 | 需验证付费意愿;注意许可证合规 |
| 依据 | 数据支持的判断:许可证与关键词显示存在商用与付费场景 |
面向细分需求的二次开发产品
| 产品构想 | 基于 sttp 的核心能力,聚焦一个更窄的场景(如某平台、某行业)做差异化。 |
| 目标用户 | 该细分场景用户 |
| 难度/周期 | 中 · 2~6 周 |
| 收费模式 | 买断制 / 订阅制 / 广告 |
| 竞争风险 | 细分需求规模需验证 |
| 依据 | AI 推测:基于项目主题标签的判断 |
以上为规则引擎基于仓库公开数据生成的参考结论,包含推测成分,不构成投资或创业承诺;配置 AI 后可获得更深入的分析。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
| 项目 | 中文简介 | Stars | 语言 |
|---|---|---|---|
| softwaremill/tapir | 中文介绍暂未生成 Rapid development of self-documenting APIs |
1,477 | Scala |
| akka/akka-http | 中文介绍暂未生成 The Streaming-first HTTP server/module of Akka |
1,350 | Scala |
| theiterators/akka-http-microservice | 中文介绍暂未生成 Example of http (micro)service in Scala & akka-http |
743 | Scala |
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。
项目优势与风险
| 技术成熟度 | 创建于 2017-06-30,近 30 天仍在推送,发布过 100 个 Release |
| 社区活跃 | Star 1,506 / Fork 339 / Issue 22(数据支持,可自行核实) |
| 许可证 | Apache-2.0 |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
此项目未提供 Docker 镜像,安装步骤以原仓库 README 为准(涉及依赖安装与环境配置,对新手门槛较高)。