gpt4 book ai didi

rust - Rust/Rocket中的POST声明有问题

转载 作者:行者123 更新时间:2023-12-03 11:39:54 24 4
gpt4 key购买 nike

我试图用火箭写一个简单的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/#format

据我所知,我遵循的是这两个页面中提到的约定,而我对从这里走到哪里感到迷茫。我缺少一些语法或导入内容吗?

最佳答案

根据文档,data参数必须在引号内包含<>。因此,data="<prod>"应该可以解决此问题。

关于rust - Rust/Rocket中的POST声明有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60323686/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com