#delete #post #rocket #forms #post-requests

rocket-post-as-delete

将 POST 请求重写为具有删除后缀的 DELETE 请求的火箭尾翼

2 个版本

0.1.1 2022 年 1 月 8 日
0.1.0 2022 年 1 月 8 日

#1104开发工具

MIT 许可证

5KB

火箭 POST 作为 DELETE 尾翼

Crates.io Version

rocket-post-as-delete 是一个为 Rocket 重写请求的尾翼,将例如 POST foo/bar/delete 的请求重写为 DELETE foo/bar

当你有用于删除内容的网页表单(除非使用 JavaScript,否则仅支持 POST 和 GET)时,这非常有用,并且想用(更正确的)DELETE 动词来编写这些路由。

安装

添加到您的 Cargo.toml

rocket-post-as-delete = "0.1"

使用方法

use rocket_post_as_delete::PostAsDelete;

#[rocket::main]
async fn main() {
   rocket::build()
       .attach(PostAsDelete)
       .mount("/", routes![delete_foo_bar])
       .launch()
       .await;
}

#[delete("/foo/bar")]
async fn delete_foo_bar() -> String {
    "Poof!"
}

现在,此类表单(POST 动词,提交 URL 以 /delete 结尾)

<form method="post" action="/foo/bar/delete">
    <button>Delete me!</button>
</form>

将按预期运行 delete_foo_bar 路由。

依赖关系

~15–49MB
~796K SLoC