我正在尝试用火箭编写一个简单的 api 来帮助自己学习 rust,但是在我尝试声明 POST 路由后遇到了这个错误:
error: malformed attribute
--> src/main.rs:26:1
|
26 | #[post("/producers", format="application/json", data =<"prod">)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: expected syntax: #[post(key = value, ..)]
这是该路由的函数声明:
#[post("/producers", format="application/json", data =<"producer">)]
fn post_producer(producer: Json<Producer>) -> String {
return("hello".to_string());
}
我正在导入这些宏:
#![feature(proc_macro_hygiene, decl_macro)]
#[macro_use] extern crate rocket;
#[macro_use] extern crate serde_derive;
#[macro_use] extern crate rocket_contrib;
use rocket_contrib::json::Json;
我为 GET 声明了另一种方法,但该方法工作正常。我做了一些研究,发现了这些示例和文档: https ://api.rocket.rs/v0.4/rocket_codegen/attr.post.html https://rocket.rs/v0.4/guide/requests/ #格式
据我所知,我遵循这两页中提到的约定,我有点迷失从这里去哪里。是否有一些我缺少的语法或导入?