PATCH 请求似乎没有到达 Express.js 服务器

PATCH request doesn't seem to reach Express.js server

我正在编写(作为练习)管理待办事项列表的 Express + React 应用程序。可以看到代码on GitHub.

每个任务都有一个完成按钮,用于向服务器发送 PATCH 请求。但是,当我按下它时,我得到一个 400 Bad Request.

此外,

  1. 即使服务器配置为记录每个请求,这些 PATCH 请求也不会出现在日志输出中。
  2. 当 Fiddler 为 运行 时,PATCH 请求突然开始正常工作!一关闭Fiddler,我又开始得到400

在 Chrome、Edge 和 Firefox 中观察到相同的行为。

有什么想法吗?

我找到了原因:我把 patch 拼成了小写。显然,Express 只识别大写的 PATCH

奇怪的是,这种特质不适用于其他方法,例如 postdelete,它们也可以识别为小写字母。

Fiddler 可能会在将请求转发到服务器之前将所有方法名称转换为大写。