A analista Carolina está adicionando o endpoint NovoPonto a um web service RESTful. O NovoPonto realiza atualizações apenas parciais em um determinado recurso. Carolina deve atribuir ao endpoint o método e o código de retorno do Hypertext Transfer Protocol (HTTP) apropriados, relacionando de forma direta as operações previstas no HTTP à lógica executada pelo web service. Em caso de sucesso, o código HTTP retornado pelo NovoPonto deve indicar ao cliente que no corpo da mensagem retornada não há conteúdo. Carolina deve atribuir ao NovoPonto, respectivamente, o código de sucesso e o método HTTP:
- A)201 e PUT;
Errada, porque 201 indica criação de um novo recurso, e PUT não é o verbo típico para atualização parcial.
- B)204 e PUT;
Errada, porque 204 está correto para resposta sem conteúdo, mas PUT não combina com atualização apenas parcial.
- C)201 e POST;
Errada, porque 201 aponta criação, e POST não é o melhor encaixe para a ideia de atualização parcial do recurso.
- D)201 e PATCH;
Errada, porque 201 é código de criação e não de sucesso sem corpo; além disso, PATCH é o método certo para parcialidade, mas o status está errado.
- E)204 e PATCH.
Certa, porque PATCH é o método adequado para atualização parcial e 204 indica sucesso sem conteúdo no corpo da resposta.
Gabarito: E
Em HTTP, o método escolhido precisa combinar com a natureza da operação. Quando o serviço faz uma alteração parcial em um recurso, o verbo mais adequado é o PATCH, porque ele foi pensado justamente para atualizações parciais, e não para substituir o recurso inteiro. Já o PUT costuma ser associado à substituição completa do recurso, então ele não é a melhor leitura para esse enunciado. Agora vem a segunda parte da história: se a operação foi bem-sucedida e a resposta não traz conteúdo no corpo, o código correto é 204 No Content. Esse status comunica exatamente isso ao cliente: a requisição deu certo, mas não há representação do recurso para devolver naquele momento. É o tipo de resposta que evita o famoso “sucesso com conversa demais”. Então, juntando as peças, o endpoint NovoPonto deve usar PATCH para a atualização parcial e 204 para indicar sucesso sem conteúdo. É a combinação clássica cobrada em REST e HTTP: método alinhado à semântica da operação e status coerente com o resultado da resposta. Se quiser memorizar de forma prática: PATCH = mexe em pedaços; 204 = deu certo, mas não voltou nada no corpo.