Você está projetando uma API REST para um sistema de vendas. Cada cliente pode possuir vários pedidos. Qual das URIs abaixo segue as boas práticas de modelagem de recursos e hierarquia em REST para listar todos os pedidos de um cliente com id 123?

Questão

Você está projetando uma API REST para um sistema de vendas. Cada cliente pode possuir vários pedidos. Qual das URIs abaixo segue as boas práticas de modelagem de recursos e hierarquia em REST para listar todos os pedidos de um cliente com id 123?

Alternativas

/orders/customer/123

/orders?customerId=123

/customers/123/orders

96%

/customers/orders/123

/customer/123/order

Explicação

Para listar todos os pedidos de um cliente específico em uma API REST, a boa prática é representar a relação hierárquica entre recursos na própria URI, usando sub-recurso.

  1. O recurso principal é customers (clientes).
  2. O cliente é identificado por /customers/123.
  3. Os pedidos pertencentes a esse cliente são um sub-recurso: /customers/123/orders.

As demais opções não seguem tão bem a modelagem REST:

  • /orders/customer/123: mistura recurso com um “caminho de ação/atributo” (customer) no meio.
  • /orders?customerId=123: pode ser válido como filtro, mas a questão pede boas práticas de hierarquia (sub-recurso é a forma mais clara para “pedidos de um cliente”).
  • /customers/orders/123: hierarquia confusa (parece “pedido 123” dentro de “customers/orders”).
  • /customer/123/order: usa singular e sugere um único pedido, não a coleção.

Alternativa correta: (C).

Questões relacionadas

Ver últimas questões

Comece a estudar de forma inteligente hoje mesmo

Resolva questões de concursos e vestibulares com IA, gere simulados personalizados e domine os conteúdos que mais caem nas provas.

Cancele quando quiser.