Skip to main content

Command Palette

Search for a command to run...

API: Tvůj nový nejlepší kámoš

Updated
2 min read

Představ si, že API je jako super cool asistent, kterého si najmeš pro svůj software. Chceš, aby byl:

  1. User-friendly jako tvůj nejlepší kámoš: Tak jednoduchý, že by ho zvládl použít i tvůj pes (dobře, možná trochu přeháníme, ale chápeš to).
  2. Bezpečný jako Fort Knox: Žádné backdoory a buggy věci! Tvoje API by mělo být odolnější než Chuck Norris v titanovém brnění.
  3. Všestranné, ale ne komplikované: Jako švýcarský nůž - zvládne všechno, ale nemotáš se v tom.

Představ si, že vytváříš nový Instagram...

Okay, Mark Zuckerberg nás sice předběhl, ale pojďme si zahrát na to, že vytváříme super cool app na sdílení fotek. Tohle nám pomůže pochopit, jak takové API vlastně funguje v reálném světě.

Zdroje a kolekce: Stavební bloky tvého API

RESTful API je architektonický styl pro vytváření webových služeb, který umožňuje různým aplikacím komunikovat mezi sebou prostřednictvím HTTP protokolu.

V RESTful API světě máme:

  • Zdroje: Hlavní hrdinové tvého API (uživatelé, fotky).
  • Kolekce: Skupiny hrdinů (všichni uživatelé, všechny fotky).

Každý hrdina má svoji vlastní adresu (URL). Například:

  • /users: Tady bydlí všichni uživatelé
  • /users/{username}: A tady má chatku konkrétní uživatel

Navrhujeme URL: Žádná věda!

Při navrhování URL adres buď cool:

  • Používej podstatná jména: /users je lepší než /getUsers (zní to míň jako rozkaz, víš?)
  • Množné číslo pro kolekce: /photos, ne /photo (jeden nikdy nestačí, že?)

HTTP metody: Kouzelnická hůlka tvého API

S HTTP metodami můžeš dělat kouzelné triky:

  • GET: "Ukaž mi to!" (získání dat)
  • POST: "Tady máš novou věc!" (vytvoření)
  • PUT: "Předělej to takhle." (úplná aktualizace)
  • PATCH: "Jenom trochu to uprav." (částečná aktualizace)
  • DELETE: "Smaž to!" (no, to je jasný)

Odpovědi: Mluv se mnou!

Tvoje API by mělo být upovídané (ale ne otravné). Každý požadavek = jasná odpověď = jasný status code:

  • 1xx = info
  • 2xx = success
  • 3xx = redirect
  • 4xx = you fuck up
  • 5xx = I fuck up

Pokud by si to potřeboval obšírnější, klikni sem https://developer.mozilla.org/en-US/docs/Web/HTTP/Status.

A jestli jsi kočkomil tak sem https://http.cat/.

Status codem to nekončí potřebujeme i doplňující informace, takhle může vypadat odpověď:

json
Copy
{
  "data": [
    {
      "username": "cool_coder42",
      "created_time": "2023-09-13T13:37:00+0000"
    },
    {
      "username": "pizza_lover99",
      "created_time": "2023-09-14T20:20:20+0000"
    }
  ]
}

Složité požadavky? Zjednodušuj!

Když chceš něco složitějšího, použij query parametry:

Copy
GET /photos?location=prague&hashtag=beer&limit=10

Takhle získáš 10 fotek piva z Prahy. Jednoduché, co?

Závěr: Neustále se zlepšuj!

Pamatuj, návrh API je jako psaní kódu - vždycky je co vylepšovat. Poslouchej feedback od uživatelů a neboj se věci měnit.

Připraven stát se API superhrdinou? Registruj se na kurz API, https://naucme.it/kurz-api.

Tak do toho!

More from this blog

API: Tvůj nový nejlepší kámoš