Как отправить список элементов из моего пользовательского интерфейса в 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'})