Skip to main content
GET
/
api
/
categories
List Categories
curl --request GET \
  --url https://api.example.com/api/categories
{
  "success": true,
  "timestamp": "<string>",
  "data": {
    "content": [
      {
        "id": 123,
        "name": "<string>"
      }
    ],
    "pageable": {
      "pageNumber": 123,
      "pageSize": 123,
      "offset": 123
    },
    "totalElements": 123,
    "totalPages": 123,
    "size": 123,
    "number": 123,
    "first": true,
    "last": true,
    "empty": true
  }
}

Endpoint

GET /api/categories

Authentication

No authentication required. This is a public endpoint.

Query Parameters

page
integer
default:"0"
Page number (0-indexed)
size
integer
default:"20"
Number of items per page
sort
string
default:"id"
Sort field and direction (e.g., “id”, “name,asc”, “name,desc”)

Response

success
boolean
required
Indicates if the request was successful
timestamp
string
required
ISO 8601 timestamp of the response
data
object
required
Paginated category data
content
array
required
Array of category objects
id
long
required
Unique identifier for the category
name
string
required
Name of the category
pageable
object
required
Pagination information
pageNumber
integer
Current page number (0-indexed)
pageSize
integer
Number of items per page
offset
integer
Offset from the start of the dataset
totalElements
long
required
Total number of categories across all pages
totalPages
integer
required
Total number of pages
size
integer
required
Number of items per page
number
integer
required
Current page number (0-indexed)
first
boolean
required
Whether this is the first page
last
boolean
required
Whether this is the last page
empty
boolean
required
Whether the page is empty

Example Request

curl -X GET "http://localhost:8080/api/categories?page=0&size=10&sort=name,asc"

Example Response

{
  "success": true,
  "timestamp": "2026-03-03T10:30:00Z",
  "data": {
    "content": [
      {
        "id": 1,
        "name": "Fiction"
      },
      {
        "id": 2,
        "name": "Non-Fiction"
      },
      {
        "id": 3,
        "name": "Science"
      }
    ],
    "pageable": {
      "pageNumber": 0,
      "pageSize": 10,
      "offset": 0
    },
    "totalElements": 3,
    "totalPages": 1,
    "size": 10,
    "number": 0,
    "first": true,
    "last": true,
    "empty": false
  },
  "message": null,
  "error": null
}

Source Code Reference

Controller: apps/spring-boot-app/src/main/java/me/seyrek/library_management_system/category/controller/CategoryController.java:25

Build docs developers (and LLMs) love