1
resposta

Tipos de views

Ola, fiquei com duvidas sobre qual view usar, abri a documentacao do django rest framework, e existem diferentes tipos de views, poderiam me explicar qual a utilidade de cada uma ?

1 resposta

Olá Murilo, tudo bem com você?

Peço desculpas pela demora em lhe responder.

O Django REST Framework (DRF) fornece várias classes de visualização (views) que podem ser usadas para processar solicitações HTTP em uma aplicação Web. Algumas das principais classes de visualização do DRF são:

  • APIView: É uma classe de visualização genérica, e por ser uma view mais genérica, é recomendado que ela seja utilizada para implementações personalizadas, para funcionalidades mais complexas é indicado utilizar as views especializadas.

  • ViewSet: É uma view que não fornece nenhuma ação padrão, mas permite que você crie suas próprias ações para atender às suas necessidades específicas e é recomendada para aplicações complexas com muitos modelos diferentes. Ela fornece muitas funcionalidades embutidas que podem ser usadas para implementar rapidamente uma API RESTful completa.

  • GenericAPIView: É uma view que fornece funcionalidades adicionais, como autenticação, serialização e validação de entrada. Ela implementa a maioria das funcionalidades necessárias para uma visualização de modelo, incluindo manipulação de solicitações do tipo: GET, POST, PUT, DELETE e PATCH. É ideal para uso em aplicações que precisam expor uma API RESTful para um modelo específico, mas não precisam de funcionalidades personalizadas.

  • ModelViewSet: Fornece um conjunto completo de ações CRUD (criar, ler, atualizar, excluir) para um modelo de banco de dados. Ela combina as funcionalidades da GenericAPIView com as ações de leitura e gravação do Django padrão, permitindo que você crie rapidamente uma API REST completa para seus modelos.

  • ReadOnlyModelViewSet: Fornece apenas as ações de leitura (listar, buscar) para um modelo de banco de dados. Ela é útil quando você deseja criar uma API REST somente de leitura para seus modelos.

  • GenericViewSet: é uma classe de visualização que fornece funcionalidades adicionais, semelhante ao GenericAPIView, e permite que você defina suas próprias ações personalizadas. Ela é útil quando você deseja criar uma API REST para recursos que não são baseados em modelos.

Espero ter ajudado. Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!