API je zmluva medzi vaším backendom a klientmi. Dobre navrhnuté API šetrí čas vývojárom a znižuje počet chýb.

Základné princípy

Používajte správne HTTP metódy

  • GET - čítanie dát (idempotentné)
  • POST - vytváranie nových zdrojov
  • PUT - nahradenie celého zdroja
  • PATCH - čiastočná aktualizácia
  • DELETE - mazanie

Konzistentné pomenovanie

GET    /users          # zoznam používateľov
GET    /users/123      # konkrétny používateľ
POST   /users          # vytvorenie používateľa
PATCH  /users/123      # aktualizácia používateľa
DELETE /users/123      # zmazanie používateľa

Správne HTTP status kódy

  • 200 - OK
  • 201 - Created
  • 204 - No Content
  • 400 - Bad Request
  • 401 - Unauthorized
  • 403 - Forbidden
  • 404 - Not Found
  • 500 - Internal Server Error

Verzia API

Vždy verzujte svoje API. Zmeny môžu pokaziť existujúcich klientov.

GET /api/v1/users
GET /api/v2/users

Pagination

Pre veľké datasety je stránkovanie nevyhnutné:

{
  "data": [...],
  "meta": {
    "page": 1,
    "per_page": 20,
    "total": 150,
    "total_pages": 8
  },
  "links": {
    "next": "/api/users?page=2",
    "prev": null
  }
}

Filtrovanie a sorting

GET /api/users?status=active&sort=-created_at
GET /api/products?category=electronics&min_price=100

Error handling

Konzistentný formát chýb:

{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Validation failed",
    "details": [
      {
        "field": "email",
        "message": "Invalid email format"
      }
    ]
  }
}

Rate limiting

Chráňte API pred preťažením:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1640995200

Záver

Dobré API je intuitívne, konzistentné a dobre zdokumentované. Investujte čas do návrhu - vaši klienti vám poďakujú.