# spring-projects/spring-hateoas

Spring HATEOAS - Library to support implementing representations for hyper-text driven REST web services.

Repository: https://github.com/spring-projects/spring-hateoas
Canonical: https://ross.abutalabs.com/products/spring-hateoas
Homepage: https://spring.io/projects/spring-hateoas
Language: Java
License: Apache-2.0
License Family: permissive
Last push: 2026-08-21T12:18:35+00:00

## Health v2 (maintenance only)
Score: 98/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 98, release rhythm 98, longevity 100
- inputs: {"age_days": 5231, "days_push": 12, "days_rel": 12, "gap_med": 26, "n_releases_24m": 18}
- flags: no_readme
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1091, forks 472 (observed 2026-08-28T04:03:33.134775+00:00)

## What it is
Spring HATEOAS is a Java library that helps create REST representations following the HATEOAS principle, addressing link creation and representation assembly for Spring MVC and WebFlux applications. It provides model classes for links and resources, a link builder API pointing to controller methods, and support for hypermedia formats like HAL, HAL-FORMS, Collection+JSON, and UBER.

## Use cases
- add hypermedia links to spring rest api responses
- build hateoas rest services in java
- serve hal-formatted json from spring mvc controllers
- create links pointing to spring mvc controller methods
- support multiple hypermedia media types like hal and collection+json
- assemble resource representations with representation model assemblers

## When to choose
- you're building REST APIs with Spring MVC or WebFlux and want HATEOAS/hypermedia support
- you need HAL, HAL-FORMS, or other hypermedia media type rendering
- you want type-safe link building from controller methods
- you're on the Spring stack and want Spring Boot auto-configuration for hypermedia

## When to avoid
- you're building plain REST APIs without hypermedia links
- you're not using the Spring ecosystem
- you need a non-JVM language
- you prefer OpenAPI/Swagger-first API design without HATEOAS

## Facets
- artifact type: library
- maturity: stable
- function: api-framework, middleware, serialization, http-server
- domain: web-development, backend, apis
- platform: jvm
- tags: hateoas, hypermedia, rest, hal, spring-boot, link-builder, spring

## Member repositories
- spring-projects/spring-hateoas (main) score 98

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:33.134775+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:49:10.160107+00:00, confidence not recorded.
  - homepage: https://spring.io/projects/spring-hateoas (fetched 2026-08-29T12:51:20.514342+00:00, sha 8ca6efe137ab)
  - site_page: https://spring.io/quickstart (fetched 2026-08-29T12:51:20.525635+00:00, sha fc64dd950363)
  - site_page: https://spring.io/projects/spring-restdocs (fetched 2026-08-29T12:51:20.529772+00:00, sha 1e2a101b77d3)
  - site_page: https://docs.spring.io/spring-hateoas/docs/current/reference/html (fetched 2026-08-29T12:51:20.531690+00:00, sha cd4e4abb7efc)
  - site_page: https://enterprise.spring.io (fetched 2026-08-29T12:51:20.523379+00:00, sha 85ac7d6d5114)
  - site_page: https://enterprise.spring.io/lts-releases (fetched 2026-08-29T12:51:20.527757+00:00, sha 3251cc8760b6)
- Data as of 2026-08-30T08:39:29.467469+00:00.
