dromara/forest
A high-level and lightweight declarative HTTP client framework for Java. it makes sending HTTP requests in Java easier. observed · 2026-08-28
Health v2 · maintenance only
67/100
- Activity 64
- Release rhythm 51
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: 0
- age_days: 3421
- days_rel: 327
- days_push: 219
- n_releases_24m: 12
Adoption not part of the score
1941 stars · 239 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
Forest is a high-level, lightweight declarative HTTP client framework for Java that lets developers send HTTP requests by defining annotated interfaces and calling local-looking methods. It supports multiple backends (HttpClient, OkHttp), template expressions, interceptors, JSON/XML/Protobuf serialization, OAuth2, file upload/download, async calls, and Spring/Spring Boot integration.
Use cases
- call third-party REST APIs from Java without boilerplate
- define HTTP clients as annotated interfaces like Feign or Retrofit
- send GET/POST/PUT/DELETE requests declaratively in Spring Boot
- upload and download files over HTTP in Java
- serialize request and response bodies as JSON, XML, or Protobuf
- handle OAuth2 authentication for external APIs
- send asynchronous HTTP requests with callbacks
- consume Server-Sent Events (SSE) endpoints in Java
When to choose
- you want a Feign/Retrofit-style declarative HTTP client without Spring Cloud or a registry
- you need flexible template expressions and custom annotations for request definitions
- you want pluggable JSON/XML converters (Fast, Jackson, Gson, JAXB)
- you need both programmatic and declarative request styles in one framework
When to avoid
- you need a reactive, non-blocking HTTP client with backpressure (e.g., WebFlux WebClient)
- your project is not on the JVM or does not use Java 8+
- you only need simple one-off requests where a plain HttpClient or OkHttp call suffices
- you require gRPC or binary RPC rather than HTTP/REST
Facets
framework · maturity active
http-client serialization middleware web-framework web-development backend apis developer-tools jvm cross-platform declarative-http-client annotations spring-boot-starter okhttp httpclient rest-client feign-alternative retrofit-alternative oauth2 file-upload sse async-requests spring
1 source
- readme: https://github.com/dromara/forest · fetched 2026-08-28 · 7ae64cbe177c
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| dromara/forest | main | 67 |
For agents
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem