据我了解,中间件处理程序不适合这种情况,因为它们在处理请求之前工作。我目前的解决方案是:
router.get("/items/:id", middleware! { |request, mut response|
// ...
let data = json::encode(&data).unwrap();
response.set(ContentLength(data.len() as u64));
data
});
我不喜欢这样,因为我有很多路线,我必须在每条路线中插入这段代码。我想要一个在处理我的路由后调用的中间件。还有其他方法吗?