← Questões de Programação

Programação · FGV · 2023

Questão comentada de Programação

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:

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.

Continue treinando

Questões relacionadas