HTTP 删除正文

问题描述 投票:0回答:1

我需要在后端发送带有正文数据的 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 请求中带有正文的记录....

如何在删除请求中发送该正文?

javascript http feathersjs
1个回答
0
投票

DELETE 请求消息中的有效负载没有定义的语义; 在 DELETE 请求上发送有效负载正文可能会导致一些现有的 拒绝请求的实现。

规格

DELETE 请求应该删除 URL 表示的内容。您不需要请求正文,因为识别要删除的内容所需的所有信息都应该在 URL 中(即,它应该是您可以发出 GET 请求的内容)。

© www.soinside.com 2019 - 2024. All rights reserved.