Dioxus - 服务器函数

94 阅读1分钟

服务器函数是一种在服务器上调用函数的便捷方式。服务器函数通过在服务器上注册一个端点,并在客户端使用请求来工作。大多数情况下,你不需要担心服务器函数是如何操作的,但有时你需要从请求中获取一些除了在服务器函数中传递的数据之外的值。

例如,请求包含了关于用户浏览器的信息(称为用户代理)。我们可以使用提取器来检索这些信息。

你可以在服务器函数中使用extract方法从请求中提取某些东西。你可以提取任何实现了FromServerContext类型的实例(或者当启用了axum时,你可以直接使用axum提取器):

#[server]
pub async fn log_headers() -> Result<(), ServerFnError> {
    let headers: http::HeaderMap = extract().await?;
    log::info!("{:?}", headers[http::header::USER_AGENT]);
    Ok(())
}