Почему у меня ошибка 500 при POST Запросе на сервер?
При POST запросе на сервер я получаю ошибку 500. Не могу понять как мне правильно отдать данные нужно. В сваггере есть пример запроса, вроде как нужно делаю.
Вот пример правильного пост запроса:
curl http://213.79.122.13:50805/admin/deals -d "client_id=test_user_01&table_json={'Deal Id': {'0': '4aa01e04-a868-4ee4-91af-d58157a6b5a6'}, 'Client Id': {'0': 'test_user_01'}, 'Datetime': {'0': '2021-09-30 17:04:40.678232'},'Product Name': {'0': 'Call-spread'},'Fut Hedge flag': {'0': True},'Max Slippage': {'0': 300},'Price USD': {'0': -117.77057712328406},'Total Margin USD': {'0': 708.9630541213185}, 'Maintenance Margin USD': {'0': 591.1924769980344},'Exchange Position': {'0': 'BTC-8OCT21-43000-C: 1, BTC-8OCT21-50000-C: -1'},'Status': {'0': 'done'},'Comment': {'0': ''}}" -X POST -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTYzNDQ4NTc4OSwianRpIjoiYjdmNzYxZDEtNmVmMS00NmFhLWJmNjUtODFkY2U3ZGU4NjU0IiwidHlwZSI6ImFjY2VzcyIsInN1YiI6ImVtY2QiLCJuYmYiOjE2MzQ0ODU3ODksImV4cCI6MTYzNDQ4OTM4OX0.Lahu57fStxtzDaeJY0R2TIcrVytqDS12Q0e3D_MxQ3E"
Далее мой запрос который я отдаю на сервер:
client_id=test_user_01&table_json=[{%22ProductName%22:%22Call-spread%22,%22Client_Id%22:%22test_user_01%22,%22Comment%22:%22%22,%22Datetime%22:%222021-10-05%2012:12:55.667092%22,%22Deal_Id%22:%224aa01e04-a868-4ee4-91af-d58157a6b5a6%22,%22Exchange_Position%22:%22BTC-8OCT21-43000-C:%201,%20BTC-8OCT21-50000-C:%20-1%22,%22Fut_Hedge_flag%22:true,%22Maintenance_Margin_USD%22:%22591.19%22,%22Max_Slippage%22:300,%22Price_USD%22:%22-117.77%22,%22Status%22:%22done%22,%22Total_Margin_USD%22:%22708.96%22}]
В первом ( правильном ) примере мы отдаем просто объект, а я отдаю уже объект в массиве. Как мне сделать так чтобы я отдавал только объект? Я думаю, что именно в этом дело..
Вот мой код
Сначала мы собираем данные и отдаем их в action который находится в store:
SendOrderDeals() {
this.sendOrderDeals({
client_id: this.$store.state.calculator.users,
table_json: this.deals,
});
this.isEditingDeals = false;
this.handleUsersSelect();
},
Далее в store мы формируем путь
async sendOrderDeals({ commit }, { client_id, table_json }) {
console.log("admin/deals", { client_id, table_json });
let res = await $api.admin.deals.create(client_id, table_json);
console.log("API-DEALS", $api);
console.log("AN IMPORTANT RES sendOrderDeals", res.data.data);
},
Далее в модуле API мы делаем Post Запрос:
deals: {
get() {
return axios.get("/admin/deals");
},
create(client_id, table_json) {
return axios.post(
`/admin/deals?client_id=${client_id}&table_json=${JSON.stringify(
table_json
)}`
);
},
},
Как мне сделать чтобы я отдавал только объект а не объект в массиве ? Если в этом конечно проблема..