我需要在后端发送带有正文数据的 DELETE 请求,但发送时出现错误。我想删除与我在该正文中发送的数据匹配的行。
async remove(id, data) {
try {
const { eventId, organizer, subject, reservationStart, reservationEnd } = data
const deletedRecords = await this.Model('reservations_ms')
.where({
event_id: eventId,
event_organizer: organizer,
event_subject: subject,
event_start: reservationStart,
event_end: reservationEnd
})
.delete()
if (deletedRecords === 0) {
throw new Error('No matching reservations found')
}
return { status: true }
} catch (error) {
console.error(error)
return { status: false }
}
}
我得到的错误:
错误:编译 DEL 时检测到未定义的绑定。未定义列:[event_id、event_organizer、event_subject、event_start、event_end] 查询:从 [reservations_ms] 中删除,其中 [event_id] = ?和 [事件组织者] = ?和 [事件主题] = ?和 [事件开始] = ?和 [event_end] = ?;选择@@rowcount
我读到,DELETE 请求不应包含正文,但在项目规范中定义了,我需要删除 DELETE 请求中带有正文的记录....
如何在删除请求中发送该正文?
DELETE 请求消息中的有效负载没有定义的语义; 在 DELETE 请求上发送有效负载正文可能会导致一些现有的 拒绝请求的实现。
— 规格
DELETE 请求应该删除 URL 表示的内容。您不需要请求正文,因为识别要删除的内容所需的所有信息都应该在 URL 中(即,它应该是您可以发出 GET 请求的内容)。