URI zdroje by se mělo číst jako cesta k věci založená na podstatných jménech, ne jako akce. HTTP metoda už dodává sloveso, takže URI stačí zdroj identifikovat jasně a konzistentně.
URI zdroje by se mělo číst jako cesta k věci založená na podstatných jménech, ne jako akce. HTTP metoda už dodává sloveso, takže URI stačí zdroj identifikovat jasně a konzistentně.
GET /users/42 — ne GET /getUser?id=42. Sloveso je metoda (GET)./users je kolekce; /users/42 je jeden prvek. Držet množné číslo všude zachová předvídatelnost./users/42/orders = „objednávky patřící uživateli 42“.kebab-case, malá písmena. /blog-posts, ne /blogPosts nebo /Blog_Posts./users?role=admin&sort=-created_at./users kolekce uživatelů
/users/42 jeden uživatel
/users/42/orders objednávky patřící uživateli 42 (sub-kolekce)
/users/42/orders/1001 konkrétní objednávka daného uživatele
/orders/1001 tatáž objednávka, adresovatelná i na nejvyšší úrovni
GET /users/42/orders?status=shipped&sort=-created_at&page=2 HTTP/1.1
Accept: application/json
Vyhněte se hlubokému vnořování nad jednu či dvě úrovně — /users/42/orders/1001/items/5/reviews se stává křehkým. Jakmile má objednávka vlastní ID, dejte přednost /orders/1001. Pro akce, které se nehodí do CRUD (např. „poslat e-mail“), je přijatelný sub-zdroj ve stylu controlleru: POST /users/42/verify-email.
Konzistentní pojmenování je to, co dělá API intuitivním — vývojář, který viděl /users a /users/42, dokáže správně uhodnout /products a /products/99, aniž by četl dokumentaci. Tazatelé to používají k posouzení, zda uvažujete ve zdrojích (REST myšlení), a ne ve voláních RPC (/doThisThing). Nejčastější anti-vzory — slovesa v cestě, nekonzistentní množné/jednotné číslo a hluboce vnořená URL — všechny činí API hůře naučitelným a udržovatelným a signalizují vývojáře, který si neosvojil omezení uniform-interface v REST. Dobrý návrh URI také odděluje odpovědnosti: identita v cestě, filtrování a stránkování v query stringu, což udržuje cachování a routing čisté.
Knihovna IT otázek k pohovoru s podrobnými odpověďmi — od Junior po Senior.
Přispět