O que é um sub-recurso
Sub-recurso é um recurso que existe dentro do contexto de outro. Em vez de aparecer no topo do caminho, ele é identificado em relação ao recurso pai. A relação fica visível na própria URL.
Um exemplo comum é o pedido dentro do usuário: /users/5/orders. O sub-recurso pertence ao contexto do usuário. A chamada age sobre o sub-recurso dentro desse contexto.
O caminho aninhado
O caminho aninhado expressa a relação. O recurso pai vem primeiro, e o sub-recurso vem depois. Os identificadores definem o elemento específico dentro de cada nível.
O caminho pode se aprofundar conforme a relação. Um sub-recurso pode ter seus próprios sub-recursos. Cada nível adiciona contexto à chamada, e a URL comunica a hierarquia.
GET /users/5/orders → pedidos do usuário 5
GET /users/5/orders/2 → o pedido 2 do usuário 5
POST /users/5/orders/2/upload → upload no pedido 2Quando usar sub-recurso
O sub-recurso faz sentido quando a relação é forte. O elemento só existe dentro do contexto do pai. A organização do caminho comunica essa dependência e ajuda quem consome a API a entender a relação.
A escolha, porém, acompanha o desenho. Um recurso pode aparecer no topo do caminho quando a relação não precisa ser forçada. O uso do sub-recurso é uma decisão de modelagem.
Sub-recurso e autorização
O contexto no caminho também participa da autorização. O sub-recurso existe dentro do recurso pai, e o acesso precisa confirmar a relação. A troca de um identificador no caminho não deve expor um elemento indevido.
A verificação confirma se o sub-recurso pertence ao contexto informado. O ID do pai e o ID do elemento definem o alvo, e a permissão controla o acesso. A combinação de caminho e autorização protege a chamada.
Para modelar os sub-recursos da sua API e a relação entre eles, o Desenvolvimento Colaborativo da Dev Side Studio oferece orientação na organização dos caminhos.
Dúvidas frequentes
Perguntas frequentes sobre Sub-recurso
- Sub-recurso é um recurso diferente?
- É um recurso que vive dentro do contexto de outro. Ele é identificado no caminho em relação ao recurso pai. A organização comunica a dependência entre eles.
- Todo recurso relacionado precisa ser sub-recurso?
- Não. A escolha acompanha o desenho da API. Um recurso pode aparecer no topo do caminho ou dentro do contexto de outro, conforme a relação que se quer comunicar.
- O sub-recurso só existe se o pai existir?
- Geralmente sim. O caminho identifica o sub-recurso dentro do contexto do pai. Sem o pai, o elemento não tem onde viver.
- Como a URL expressa um sub-recurso?
- Com o caminho aninhado. O recurso pai vem primeiro, e o sub-recurso vem depois. O identificador do pai e o do elemento definem o alvo da chamada.
Para continuar
Recursos relacionados
Documentação
Modelagem de recursos e sub-recursos
Como organizar recursos e suas relações em uma API.
Abrir recursoDocumentação
REST: recursos na MDN
O papel da URL na identificação de recursos e relações.
Abrir recursoAplicação na formação
Developer Workspace
O sub-recurso aparece no caminho dentro do contexto de outro recurso.
Conhecer a formação
Fontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.