Uma URI de recurso deve se ler como um caminho baseado em substantivo até uma coisa, não uma ação. O método HTTP já fornece o verbo, então a URI só precisa identificar o recurso de forma clara e consistente.
Uma URI de recurso deve se ler como um caminho baseado em substantivo até uma coisa, não uma ação. O método HTTP já fornece o verbo, então a URI só precisa identificar o recurso de forma clara e consistente.
GET /users/42 — não GET /getUser?id=42. O método (GET) é o verbo./users é a collection; /users/42 é um membro. Manter o plural em todo lugar deixa tudo previsível./users/42/orders = "orders pertencentes ao user 42".kebab-case, em minúsculas. /blog-posts, não /blogPosts nem /Blog_Posts./users?role=admin&sort=-created_at./users collection de users
/users/42 um único user
/users/42/orders orders pertencentes ao user 42 (sub-collection)
/users/42/orders/1001 um order específico desse user
/orders/1001 o mesmo order, endereçável no top level também
GET /users/42/orders?status=shipped&sort=-created_at&page=2 HTTP/1.1
Accept: application/json
Evite aninhamento profundo além de um ou dois níveis — /users/42/orders/1001/items/5/reviews fica frágil. Assim que um order tem seu próprio ID, prefira /orders/1001. Para ações que não se encaixam no CRUD (ex. "enviar email"), um sub-recurso no estilo controller é aceitável: POST /users/42/verify-email.
A nomeação consistente é o que faz uma API parecer intuitiva — um desenvolvedor que viu /users e /users/42 consegue adivinhar corretamente /products e /products/99 sem ler a documentação. Os entrevistadores usam isso para avaliar se você pensa em recursos (a mentalidade REST) em vez de chamadas RPC (/doThisThing). Os anti-patterns mais comuns — verbos no path, pluralização inconsistente, e URLs profundamente aninhadas — tornam a API mais difícil de aprender e manter, e sinalizam um desenvolvedor que não internalizou a constraint de uniform-interface do REST. Um bom design de URI também mantém as preocupações separadas: identidade no path, filtro e paginação na query string, o que mantém caching e roteamento limpos.
Uma biblioteca de perguntas de entrevista de TI com respostas detalhadas — de Júnior a Sênior.
Doar