𝗙𝗶𝗹𝘁𝗿𝗮𝗴𝗲𝗺 𝗱𝗲 𝗠𝗲𝘁𝗼𝗱𝗼𝘀 𝗱𝗲 𝗥𝗲𝗾𝘂𝗶𝘀𝗶çã𝗼 𝗻𝗼 𝗛𝘆𝗽𝗲𝗿𝗹𝗮𝗻𝗲

Aplicações web lidam com diferentes métodos HTTP, como GET, POST e DELETE. O Hyperlane oferece várias maneiras de filtrar essas requisições. Você pode rotear requisições para handlers específicos ou usar middleware para verificar os métodos.

Aqui estão as maneiras de filtrar métodos no Hyperlane:

  • Use #[is_get_method] para endpoints simples de apenas leitura. Esta macro rejeita qualquer requisição que não seja uma requisição GET.

  • Use #[methods] para roteamento flexível. Você pode passar uma lista de métodos permitidos. Por exemplo, #[methods("GET", "POST")] permite tanto a leitura quanto a criação de dados.

  • Use verificações manuais para lógica complexa. Você pode extrair o método do contexto e usar instruções if-else para decidir como responder.

  • Use #[filter] para controle ao nível de rota. Você pode combinar isso com definições de rota para criar handlers específicos para diferentes métodos no mesmo caminho.

  • Use middleware para logging ou depuração. Você pode extrair o método e adicioná-lo aos atributos da sua requisição.

Melhores práticas para sua API:

  • Use #[is_get_method] para tarefas de apenas leitura para manter o código limpo.
  • Use #[methods] quando um endpoint precisar de mais de um tipo de requisição.
  • Retorne um código de status 405 se um usuário enviar um método não suportado.
  • Combine filtros para criar regras estritas. Você pode verificar o método, o host e o comprimento do caminho de uma só vez.

Essas ferramentas ajudam você a construir APIs limpas e organizadas. Elas tornam seu código mais fácil de ler e manter.

Project Code: https://github.com/hyperlane-dev/hyperlane

Source: https://dev.to/tengxgfyrz67s/request-method-filtering-35jk