Как отправить список элементов из моего пользовательского интерфейса в Django Rest Framework API?

Мой проект использует многопоточность для одновременной работы над несколькими задачами. Я бы хотел, чтобы мой пользовательский интерфейс (я использую Vue.js) отправлял список/массив элементов в мой API для работы над каждой отдельной задачей. например

[{ 
"1": "item1",
"2": "item2",
"3": "item3",
...}]

(API перебирает элементы, чтобы найти, какие команды использовать, поэтому я использовал многопоточность, чтобы я мог работать над несколькими задачами одновременно вместо отправки каждого отдельного элемента, что занимает слишком много времени)

Как отправить список или массив объектов в API?

Ответ: используя JavaScript для отправки данных через запрос к вашей конечной точке. Как это сделать, зависит от того, что вы хотите использовать, например, одним из популярных вариантов является axios.

Хотя, вот простой пример с использованием fetch API:

шаблон

<script>
    const url = '/your/endpoint/url/';
    data = [
        {'my': 'list', "of": "key", "pair": "values"}, 
        {'can': 'be', "multiple": "objects"}
    ]
    fetch(url, {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json'
        },
        body: JSON.stringify(data) 
    })
    .then((response) => response.json())
    .then((data) => console.log(data.message));
</script>

views.py

class Endpoint(APIView):

    def post(self, request):
        print(request.data)
        # print output: [{'my': 'list', 'of': 'key', 'pair': 'values'}, {'can': 'be', 'multiple': 'objects'}]
        ...
        return Response({'message': 'data received'})
Вернуться на верх