Spring Data · JSON Structure

Spring Data Hal Resource Structure

Structural documentation of HAL+JSON resources as returned by Spring Data REST

Type: Properties: 0
Data AccessDatabaseFrameworkJavaJPAMongoDBORMRedisRESTSpring

Spring Data HAL Resource Structure is a JSON Structure definition published by Spring Data.

Meta-schema:

JSON Structure

Raw ↑
{
  "name": "Spring Data HAL Resource Structure",
  "description": "Structural documentation of HAL+JSON resources as returned by Spring Data REST",
  "version": "4.3.0",
  "structures": [
    {
      "name": "HalResource",
      "description": "A single HAL resource entity",
      "fields": [
        { "name": "_links", "type": "object", "description": "Hypermedia links", "required": true },
        { "name": "_links.self", "type": "object", "description": "Self link for this resource", "required": true },
        { "name": "_links.self.href", "type": "string", "description": "URI of this resource" },
        { "name": "_embedded", "type": "object", "description": "Embedded related resources (on collection responses)" }
      ]
    },
    {
      "name": "PagedCollection",
      "description": "A paginated collection of HAL resources",
      "fields": [
        { "name": "_embedded", "type": "object", "description": "Embedded resource arrays keyed by relation", "required": true },
        { "name": "_links", "type": "object", "description": "Navigation links (self, first, prev, next, last)", "required": true },
        { "name": "page", "type": "object", "description": "Pagination metadata", "required": true },
        { "name": "page.size", "type": "integer", "description": "Items per page" },
        { "name": "page.totalElements", "type": "integer", "description": "Total items across all pages" },
        { "name": "page.totalPages", "type": "integer", "description": "Total number of pages" },
        { "name": "page.number", "type": "integer", "description": "Current page (zero-based)" }
      ]
    },
    {
      "name": "SearchResults",
      "description": "Search endpoint link listing",
      "fields": [
        { "name": "_links", "type": "object", "description": "Links to exposed search methods" },
        { "name": "_links.self.href", "type": "string", "description": "Search resource URI" }
      ]
    }
  ]
}