rest - 为什么 warp 会为输入错误的参数返回 HTTP 405 Method Not Allowed?
问题描述
在 warp 中考虑以下路由规范:
let read_book_route = warp::path!("book" / Address)
.and(warp::get())
.and(warp::any().map(move || read_book_state.clone()))
.and_then(handler::read_book_handler);
如果 URL 中提供了 non- Address
,warp 会自动返回 HTTP 405 Method Not Allowed 状态代码:
$ curl -i http://example.com/book/not_a_valid_address
HTTP/1.1 405 Method Not Allowed
content-type: text/plain; charset=utf-8
content-length: 23
date: Thu, 25 Feb 2021 06:22:20 GMT
HTTP method not allowed
为什么是 HTTP 405?为什么不是 HTTP 400 或任何其他客户端错误?
解决方案
推荐阅读
- powershell - 存储和重复使用加载了 PowerCLI 模块并连接到 vCenter Server 的 PowerShell 会话
- ms-access - MS Access 查询在小窗口中打开,只有 8 行
- php - WooCommerce 在订单电子邮件中显示使用的优惠券
- r - 合并具有共同元素的行
- python - 我无法在 python 的数据框中删除特定值
- python - 如何检索会话名称?
- python - unittest:NameError:名称'dbutils'未定义
- java - Arquillian 和 Flyway 使用不同版本的 H2 内存
- laravel - Dompdf 上的问题,为尝试转换传递的无效字符,这些已被忽略
- php - 文件获取多个文件的内容和字符串替换