1
resposta

API que fornece dados que não vem de um banco de dados

Pessoal,

No curso "API com Django 3: Django Rest Framework", todos os dados retornados pela API vêm do SQLite. Como é que eu faço para retornar dados que estiverem disponíveis em uma classe do meu backend que não estão armazenados em banco de dados?

1 resposta

Olá Luiz, como você está?

Peço desculpas pela demora em obter um retorno.

Em alguns casos, pode ser necessário retornar dados que não estão armazenados em um banco de dados e para isso, você pode criar uma função de visualização personalizada (view) no Django Rest Framework que retorna os dados diretamente de uma classe no seu backend. Por exemplo, suponha que você tenha uma classe chamada MyClass que contém os dados que você deseja retornar na sua API. Você pode criar uma função de visualização personalizada que instancia a classe MyClass e retorna os dados diretamente:

from rest_framework.views import APIView
from rest_framework.response import Response

class MyClass:
    def __init__(self, data):
        self.data = data

class MyView(APIView):
    def get(self, request):
        my_class = MyClass(data=[1, 2, 3, 4, 5])
        return Response(my_class.data)

Nesse exemplo, a classe MyClass possui um atributo data que é uma lista de dados. A função de visualização personalizada MyView instancia a classe MyClass e retorna os dados diretamente através do método get.

É importante lembrar que essa abordagem funciona bem para conjuntos de dados pequenos e simples, mas pode não ser escalável para conjuntos de dados maiores e complexos. Em casos assim, você pode precisar usar outras soluções, como bancos de dados NoSQL ou sistemas de armazenamento em cache.

Espero ter ajudado. Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

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!