Um serviço web em uma arquitetura definida no padrão RESTful...

Próximas questões
Com base no mesmo assunto
Q4154451 Arquitetura de Software
Um serviço web em uma arquitetura definida no padrão RESTful utiliza o recurso www.dominio.com.br/notas/ para disponibilizar acesso a notas que obedecem a uma estrutura de dados com um campo identificação do tipo inteiro, um campo de descrição do tipo cadeia de caracteres e um campo para armazenar a data. Ao executar uma invocação PUT com a URL www.dominio.com.br/notas/1, qual é a melhor prática a ser adotada? 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: B

Fundamento decisivo: A decisão dependia de reconhecer que a URI /notas/1 já identifica o recurso e que, em PUT, o corpo deve trazer a representação do estado desejado do recurso, e não apenas a identificação ou um campo isolado.

Tema central: Semântica do PUT
Análise das alternativas
A
Errada
Está incorreta porque descreve o envio apenas do campo alterado, o que corresponde a atualização parcial. Pela base adotada na questão, essa não é a melhor prática usual para PUT, que trabalha com a representação completa do recurso no estado final.
B
Certa
A alternativa B é a melhor prática cobrada porque exige o novo valor do campo alterado juntamente com os demais dados do recurso no estado final.
C
Errada
Está incorreta porque informar apenas a identificação não atualiza o conteúdo do recurso. A URI /notas/1 já identifica qual nota será tratada; falta na requisição o estado que se deseja gravar no recurso.
D
Errada
Está incorreta porque é falso afirmar que PUT está em desuso. PUT continua sendo método próprio para atualização/substituição de recurso identificado, e POST não o substitui de forma geral.
Pegadinha da questão
A confusão explorada foi tratar PUT como se fosse atualização parcial, aceitando o envio só do campo alterado, ou imaginar que o identificador na URI já basta sem enviar a representação a ser atualizada.
Dica para questões semelhantes
  • Se a questão tratar PUT em uma URI que já identifica o recurso, verifique se a opção envia o estado desejado do recurso, e não apenas um campo isolado.
  • Quando a alternativa descrever atualização parcial de campos, isso se afasta da prática usual cobrada para PUT e se aproxima mais de PATCH.
  • Se a URI já contém o identificador do recurso, o corpo da requisição deve servir para levar os dados a serem gravados, não apenas repetir a identificação.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo