Conteúdo

    Resposta do servidor 204 No Content

    HTTP Status Code 204 (No Content)

    O código de status HTTP 204 (No Content) é um elemento fundamental no desenvolvimento web, permitindo que os servidores informem aos clientes que a solicitação foi processada com sucesso, mas não há dados a serem enviados na resposta. Neste artigo, exploraremos como usar corretamente esse código de status, apresentaremos exemplos práticos e discutiremos possíveis casos de uso incorreto e formas de correção em diferentes linguagens de programação.

    204 - No Content

    Características do código de status 204

    • Definição do status 204: O código 204 indica que a solicitação foi bem-sucedida, mas não há conteúdo para retornar.
    • Quando usar o código 204: É apropriado usar o 204 quando uma operação foi realizada, mas não há necessidade de enviar dados adicionais, como em operações de exclusão ou atualizações que não requerem um corpo de resposta.
    • Diferença em relação a outros códigos de status:
      • 200 OK: Retorna uma resposta bem-sucedida com conteúdo.
      • 204 No Content: Retorna uma resposta bem-sucedida sem conteúdo.

    Exemplos práticos de uso do código de status 204

    1. Exemplo 1: Execução bem-sucedida de uma solicitação sem dados retornados

      Descrição do cenário: Exclusão de um recurso.

      fetch('/api/recurso/123', {
          method: 'DELETE'
      }).then(response => {
          if (response.status === 204) {
              console.log('Recurso excluído com sucesso');
          }
      });
    2. Exemplo 2: Atualização de dados com solicitação sem conteúdo retornado

      Descrição do cenário: Atualização do perfil do usuário.

      import requests
      
      response = requests.put('/api/usuario/123', json={'nome': 'Novo Nome'})
      if response.status_code == 204:
          print('Perfil atualizado com sucesso')
    3. Exemplo 3: Confirmação da execução de uma tarefa sem transmissão de dados

      Descrição do cenário: Confirmação das ações do usuário.

      <?php
      $response_code = http_response_code(204);
      echo "Ação confirmada com sucesso";

    Erros ao usar o código de status 204 e suas correções

    • Erros comuns que levam ao uso incorreto:
      • Envio de dados na resposta.
      • Uso incorreto em situações que requerem conteúdo.
    • Correção em JavaScript:
      // Exemplo com erro
      fetch('/api/recurso', {
          method: 'POST',
          body: JSON.stringify({data: 'informação'})
      }).then(response => {
          if (response.status === 204) {
              console.log('Erro: Não deve haver corpo na resposta');
          }
      });
      // Exemplo corrigido
      fetch('/api/recurso', {
          method: 'DELETE'
      }).then(response => {
          if (response.status === 204) {
              console.log('Recurso excluído com sucesso');
          }
      });
    • Correção em Python:
      # Exemplo com erro
      response = requests.delete('/api/usuario', json={'data': 'informação'})
      if response.status_code == 204:
          print('Erro: Não deve haver corpo na resposta')
      # Exemplo corrigido
      response = requests.delete('/api/usuario')
      if response.status_code == 204:
          print('Usuário excluído com sucesso')
    • Correção em PHP:
      <?php
      // Exemplo com erro
      http_response_code(204);
      echo json_encode(['message' => 'Sucesso']); // Erro: Não deve haver corpo na resposta
      ?>
      <?php
      // Exemplo corrigido
      http_response_code(204);
      exit; // Encerrar sem resposta adicional
      ?>

    Dicas para o uso correto do código de status 204

    • Recomendações para o design de APIs: Assegure-se de que as operações que não retornam dados utilizem o código 204 para evitar confusões.
    • Como testar o uso do código 204: Utilize ferramentas de teste de API para verificar se as respostas estão de acordo com as expectativas em diferentes cenários de uso.

    O uso adequado do código de status 204 é essencial para garantir que as comunicações entre clientes e servidores sejam claras e eficientes. Ao seguir os exemplos e correções apresentadas, os desenvolvedores podem evitar erros comuns e aprimorar a experiência de uso de suas aplicações.