Ištekliaus URI turėtų skaitytis kaip daiktavardžiu grįstas kelias iki daikto, o ne veiksmas. HTTP metodas jau pateikia veiksmažodį, todėl URI tereikia aiškiai ir nuosekliai identifikuoti išteklių.
Ištekliaus URI turėtų skaitytis kaip daiktavardžiu grįstas kelias iki daikto, o ne veiksmas. HTTP metodas jau pateikia veiksmažodį, todėl URI tereikia aiškiai ir nuosekliai identifikuoti išteklių.
GET /users/42 — ne GET /getUser?id=42. Metodas (GET) yra veiksmažodis./users yra kolekcija; /users/42 yra vienas narys. Daugiskaitos laikymasis visur daro tai nuspėjamą./users/42/orders = „orders, priklausantys user 42“.kebab-case, mažosiomis raidėmis. /blog-posts, ne /blogPosts ar /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
Venk gilaus įdėjimo daugiau nei vieno ar dviejų lygių — /users/42/orders/1001/items/5/reviews tampa trapus. Kai order jau turi savo ID, teik pirmenybę /orders/1001. Veiksmams, netelpantiems į CRUD (pvz. „siųsti el. laišką“), controller stiliaus sub-resource yra priimtinas: POST /users/42/verify-email.
Nuoseklus įvardijimas yra tai, kas daro API intuityvų — kūrėjas, matęs /users ir /users/42, gali teisingai atspėti /products ir /products/99 neskaitydamas dokumentacijos. Interviuotojai naudoja tai įvertinti, ar mąstote ištekliais (REST mąstysena), o ne RPC iškvietimais (/doThisThing). Dažniausi anti-patternai — veiksmažodžiai kelyje, nenuosekli daugiskaita/vienaskaita ir giliai įdėti URL — visi daro API sunkiau išmokstamą ir prižiūrimą, ir signalizuoja kūrėją, neįsisavinusį REST uniform-interface apribojimo. Geras URI dizainas taip pat laiko rūpesčius atskirtus: tapatybė kelyje, filtravimas ir puslapiavimas query string, o tai palaiko cache’inimą ir maršrutizavimą švarų.
IT pokalbių klausimų biblioteka su išsamiais atsakymais — nuo Junior iki Senior.
Paaukoti