URI vira naj se bere kot na samostalnikih temelječa pot do stvari, ne kot dejanje. Metoda HTTP že priskrbi glagol, zato mora URI vir le jasno in dosledno identificirati.
URI vira naj se bere kot na samostalnikih temelječa pot do stvari, ne kot dejanje. Metoda HTTP že priskrbi glagol, zato mora URI vir le jasno in dosledno identificirati.
GET /users/42 — ne GET /getUser?id=42. Metoda (GET) je glagol./users je zbirka; /users/42 je en član. Množina povsod ohranja predvidljivost./users/42/orders = "naročila, ki pripadajo uporabniku 42".kebab-case, male črke. /blog-posts, ne /blogPosts ali /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
Izogibajte se globokemu gnezdenju čez eno ali dve ravni — /users/42/orders/1001/items/5/reviews postane krhko. Ko ima naročilo svoj ID, raje uporabite /orders/1001. Za dejanja, ki ne sodijo v CRUD (npr. "pošlji e-pošto"), je podvir v slogu krmilnika sprejemljiv: POST /users/42/verify-email.
Dosledno poimenovanje je tisto, kar naredi API intuitiven — razvijalec, ki je videl /users in /users/42, lahko pravilno ugane /products in /products/99, ne da bi bral dokumentacijo. Spraševalci to uporabijo, da presodijo, ali razmišljate v virih (miselnost REST) namesto v klicih RPC (/doThisThing). Najpogostejši antivzorci — glagoli v poti, nedosledna množina/ednina in globoko gnezdeni URL-ji — vsi otežujejo učenje in vzdrževanje API-ja ter nakazujejo razvijalca, ki ni ponotranjil REST-ove omejitve uniform-interface. Dobra zasnova URI-jev tudi loči skrbi: identiteta v poti, filtriranje in ostranjevanje v query stringu, kar ohranja čisto predpomnjenje in usmerjanje.
Knjižnica IT vprašanj za razgovore s podrobnimi odgovori — od začetnika do izkušenega.
Doniraj