Я изучаю использование сериализаторов для обработки запросов GET / POST с внешними вызовами API.Все эти поля приходят отдельно от отдельных конечных точек, а затем необходимо объединить их все в один ответ.Для этих данных нет модели, так как нам не нужно их хранить - только получение от внешнего API и обслуживание внешнего интерфейса в виде совокупности.Следовательно, я не смог найти много вариантов реализации не-модельного сериализатора, подобного моему случаю, так как большинство ответов связано с классом / моделью.
# This is a sample data that I get through an external API using the following link:
https://example.com/api/books/bk001/authors
{
"book_id": "bk001",
"book_authors": {
"author_1": "John Doe",
"author_2": "Sarah Brown"
}
}
Вот мой код, но я не уверен, правильно ли я это делаю:
# serializers.py
class BookSerializer(serializers.Serializer):
book_id = serializers.CharField()
book_authors = serializers.DictField()
# views.py
class BookView(views.APIView):
serializer_class = serializers.BookSerializer
def get(self, request, book_id):
book_authors = requests.get(f"https://example.com/api/books/{book_id}/authors").json()
return Response(book_authors)
Этоправильный способ использовать его в данном случае?