Een resource-URI moet lezen als een op zelfstandige naamwoorden gebaseerd pad naar een ding, geen actie. De HTTP-methode levert het werkwoord al, dus de URI hoeft de resource alleen duidelijk en consistent te identificeren.
Een resource-URI moet lezen als een op zelfstandige naamwoorden gebaseerd pad naar een ding, geen actie. De HTTP-methode levert het werkwoord al, dus de URI hoeft de resource alleen duidelijk en consistent te identificeren.
GET /users/42 — niet GET /getUser?id=42. De methode (GET) is het werkwoord./users is de collectie; /users/42 is één lid. Overal meervoud aanhouden houdt het voorspelbaar./users/42/orders = "orders die bij user 42 horen".kebab-case, kleine letters. /blog-posts, niet /blogPosts of /Blog_Posts./users?role=admin&sort=-created_at./users collection of users
/users/42 a single user
/users/42/orders orders belonging to user 42 (sub-collection)
/users/42/orders/1001 a specific order of that user
/orders/1001 same order, addressable at top level too
GET /users/42/orders?status=shipped&sort=-created_at&page=2 HTTP/1.1
Accept: application/json
Vermijd diepe nesting voorbij één of twee niveaus — /users/42/orders/1001/items/5/reviews wordt broos. Zodra een order een eigen ID heeft, geef de voorkeur aan /orders/1001. Voor acties die niet in CRUD passen (bv. "e-mail versturen") is een sub-resource in controller-stijl acceptabel: POST /users/42/verify-email.
Consistente naamgeving is wat een API intuïtief laat aanvoelen — een ontwikkelaar die /users en /users/42 heeft gezien kan /products en /products/99 correct raden zonder documentatie te lezen. Interviewers gebruiken dit om in te schatten of je in resources denkt (de REST-mindset) in plaats van in RPC-calls (/doThisThing). De meest voorkomende anti-patterns — werkwoorden in het pad, inconsistent meervoud, en diep geneste URL's — maken een API allemaal moeilijker te leren en te onderhouden, en ze wijzen op een ontwikkelaar die de uniform-interface-constraint van REST niet heeft verinnerlijkt. Goed URI-ontwerp houdt ook zaken gescheiden: identiteit in het pad, filteren en paginering in de query string, wat caching en routing schoon houdt.
Een bibliotheek met IT-sollicitatievragen met gedetailleerde antwoorden — van Junior tot Senior.
Doneren