Zpět na Blog
Blog

Nastavujete správně koncové body REST API?

Apr 12, 2023·3 min read·Palomi Jain
#API#API Development#Backend#Backend Development
Nastavujete správně koncové body REST API?

Nastavujete správně REST API Endpoints?

Nastavujete své API endpoints správně? Často se při nastavování endpoints pro naše API setkáváme se situacemi, kdy si nejsme jisti, zda psát v množném nebo jednotném čísle. Měli bychom použít podtržítka nebo pomlčky? Jak uvést ID? Pro API, které vytváří zdroj, bychom měli použít /resource/create? A mnoho dalších otázek. Pojďme se tedy ponořit hlouběji do konvencí pojmenování pro REST API. Zde se budeme zabývat:

  • Endpoints
  • Metody
  • Verzování

Endpoints

Začněme si projít některé konvence pojmenování REST API.

Zdroje jako podstatná jména

REST API by vám mělo umožnit manipulovat se zdrojem pomocí jedné z hlavních HTTP metod. REST URI by neměly indikovat žádné operace CRUD. Měly by odkazovat na zdroj namísto akce/slovesa. Kdykoli je to možné, používejte pouze množnou formu podstatných jmen, pokud se nejedná o singleton zdroje.

Dobré příklady:

  • https://api.website.com/v1/store/products
  • https://api.website.com/v1/store/customers
  • https://api.website.com/v1/store/discounts

Špatné příklady:

Hierarchie

Hierarchie mezi zdroji a sbírkami je definována použitím lomítek.

"Stejně jako u všeho v řemesle vývoje softwaru je pojmenování rozhodující pro úspěch"

Dobrý příklad:

  • https://api.website.com/v1/item/store

Špatný příklad:

  • https://api.website.com/v1/store/items

Pomlčky

Je široko-daleko přijímáno, že čtení pomlček ( first-name ) je jasnější a uživatelsky přívětivější než čtení podtržítek ( first_name ). Takže kdykoli REST API endpoint obsahuje více slov, je vždy lepší používat pomlčky místo podtržítek. Navíc zde existuje pohled z hlediska SEO. Doporučuje se používat pomlčky, protože to pomáhá botům snadněji identifikovat koncepty v URL. A podtržítko mezi dvěma slovy je považováno za jedno slovo, zatímco použití pomlček je považováno za dvě samostatná slova.

Dobrý příklad:

  • https://api.website.com/v1/store/inventory-management/active-orders

Špatný příklad

  • https://api.website.com/v1/store/inventory_management/active_orders

Metody

Teď víme, že bychom neměli používat slovesa v našich REST API endpoints, ale vyvstává otázka, jak pak sloveso specifikovat. Na pomoc nám přicházejí HTTP metody. HTTP metody jsou slovesa, která indikují druh operace, kterou API může provádět.

HTTP metody:

  • GET odpovídá operaci "Čtení" zdroje nebo sbírky.
  • POST odpovídá operaci "Vytvoření" zdroje nebo sbírky.
  • PUT odpovídá operaci "Aktualizace" zdroje nebo sbírky.
  • DELETE odpovídá operaci "Smazání" zdroje nebo sbírky.

Existuje celkem 39 HTTP metod, ale GET, POST, PUT a DELETE jsou nejčastěji používané a základní metody. Všechny HTTP metody a jejich případy použití budeme pokrývat v samostatném blogu.

Verzování

Vždy je lepší verzovat vaše API. Stejné adresy URL mohou být spotřebovávány bez nutnosti provádět žádné zásadní změny v REST API endpoints. API endpoints by nikdy neměly být zneplatňovány, protože by to mohlo mít nepředvídané následky pro aplikace, které je spotřebovávají.

Příklady:

  • https://api.website.com/v1/store/items
  • https://api.webiste.com/v2/store/employees

Klíčové body

  • Používejte podstatná jména k reprezentaci zdrojů.
  • Vyhněte se používání sloves v REST API endpoints.
  • Nepoužívejte podtržítka (`_`) v endpointu. Místo toho použijte pomlčky (`-`).
  • Používejte dotazy k filtrování, třídění nebo omezení sbírky API.
  • Nikdy nepřidávejte přípony souborů do adres URL. Pokud chcete zadat typ obsahu, použijte hlavičku `Content-Type`.
  • Vždy preferujte používání malých písmen v REST API endpoints.
  • Neuvádějte koncová lomítka (`/`) v Rest API endpoints. Nepřidávají sémantickou hodnotu a mohou být matoucí.
  • Vybírejte jednoduchá jména. Pokud se to provede správně, API endpoints budou velmi snadné pro jakéhokoli vývojáře pamatovat si nebo uhodnout.