Egy erőforrás-URI úgy olvasandó, mint egy főnév-alapú útvonal egy dologhoz, nem mint egy művelet. A HTTP metódus már megadja az igét, így az URI-nak csak világosan és konzisztensen kell azonosítania az erőforrást.
Egy erőforrás-URI úgy olvasandó, mint egy főnév-alapú útvonal egy dologhoz, nem mint egy művelet. A HTTP metódus már megadja az igét, így az URI-nak csak világosan és konzisztensen kell azonosítania az erőforrást.
GET /users/42 — nem GET /getUser?id=42. A metódus (GET) az ige./users a collection; a /users/42 egy elem. Ha mindenhol többes számban maradsz, kiszámítható marad./users/42/orders = "a 42-es userhez tartozó orderek".kebab-case-t, kisbetűvel. /blog-posts, nem /blogPosts vagy /Blog_Posts./users?role=admin&sort=-created_at./users userök collectionje
/users/42 egyetlen user
/users/42/orders a 42-es userhez tartozó orderek (al-collection)
/users/42/orders/1001 annak a usernek egy konkrét ordere
/orders/1001 ugyanaz az order, top-level szinten is elérhető
GET /users/42/orders?status=shipped&sort=-created_at&page=2 HTTP/1.1
Accept: application/json
Kerüld az egy-két szintnél mélyebb beágyazást — a /users/42/orders/1001/items/5/reviews törékennyé válik. Ha egy ordernek már van saját ID-ja, részesítsd előnyben a /orders/1001-et. A CRUD-ba nem illő műveletekhez (pl. "email küldése") egy controller-stílusú al-erőforrás elfogadható: POST /users/42/verify-email.
A konzisztens elnevezés teszi intuitívvá egy API-t — egy fejlesztő, aki látta a /users-t és a /users/42-t, helyesen tippeli meg a /products-ot és a /products/99-et dokumentáció olvasása nélkül. Az interjúztatók ezzel mérik fel, hogy erőforrásokban gondolkodsz-e (a REST-szemlélet), vagy RPC-hívásokban (/doThisThing). A leggyakoribb anti-patternek — igék a path-ban, következetlen többesszám-használat és mélyen beágyazott URL-ek — mind nehezebben tanulhatóvá és karbantarthatóvá teszik az API-t, és olyan fejlesztőre utalnak, aki nem sajátította el a REST uniform-interface megkötését. A jó URI-tervezés a felelősségeket is szétválasztja: azonosítás a path-ban, szűrés és lapozás a query stringben, ami tisztán tartja a cache-elést és a routingot.
IT interjúkérdések gyűjteménye részletes válaszokkal — Juniortól Seniorig.
Adományozás