Ross ROSS = Recommend OSS · open-source software intelligence for agents

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

github.com/dromara/forest · Java · MIT (permissive) 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

Full methodology

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

Member repositories

RepositoryRoleHealth v2
dromara/forestmain67

For agents

markdown · JSON · MCP: product_card(name="dromara/forest")

Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem