标签: nickel

不能将'Fn`闭包中捕获的外部变量借用为可变

这是我与Rust的第一天,但​​我正在尝试做一些微不足道的事情,而且我被困住了.

我想要做的是向Vector添加一个结构,并返回结果.我正在尝试创建一个非常简单的REST服务,它将在发布时将数据存储在内存中,并在执行GET时以JSON格式返回所有数据.

这是我目前的代码:

fn main() {
    let mut server = Nickel::new();
    let mut reservations = Vec::new();

   server.post("/reservations/", middleware! { |request, response|
        let reservation = request.json_as::<Reservation>().unwrap();

        reservations.push(reservation); // <-- error occurs here

        format!("Hello {} {}", reservation.name, reservation.email)

    });

    server.listen("127.0.0.1:3000");
}
Run Code Online (Sandbox Code Playgroud)

我用RefCell 尝试了这个解决方案,但后来我得到了没有实现特征同步的错误Vec<reservation::Reservation>

rest rust nickel

14
推荐指数
1
解决办法
2768
查看次数

如何将值发送到Nickel Middleware函数

比较以下代码:

extern crate nickel;
use nickel::{Nickel, HttpRouter, Request, Response, MiddlewareResult};

fn main() {
    let data = "wanted";
    let mut server = Nickel::new();
    server.get("/", landing);
    server.listen("localhost:6767");
}

fn landing<'a>(_: &mut Request, response: Response<'a>) -> MiddlewareResult<'a> {
    response.send("not wanted")
}
Run Code Online (Sandbox Code Playgroud)

我想data在函数中使用landing.

rust nickel

0
推荐指数
1
解决办法
243
查看次数

标签 统计

nickel ×2

rust ×2

rest ×1