rust - 如何设置响应的状态码?

标签 rust actix-web

我正在将 actix 用于我正在开发的 Web 应用程序,并且尝试将状态代码 409 设置为响应,但我不知道该怎么做。有点像这样:

HttpResponse::StatusCode(409).json(Status{
            value: val,
            isOn: true
})

最佳答案

有多种方法可以显式设置状态代码。最简单的方法是利用 actix-web 的 implementation of Responder for (T, StatusCode) whenever T: Responder 。假设 Status 是一些实现 Serialize 的自定义结构,您应该能够编写类似的内容

use actix_web::{HttpRequest, Responder, http, web};

fn foo(req: HttpRequest) -> impl Responder {
    (
        web::Json(Status {
            value: val,
            isOn: true,
        }),
        http::StatusCode::CONFLICT,
    )
}

关于rust - 如何设置响应的状态码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67298503/

相关文章:

rust - 暂时持有借来的元素

redis - 调用使用redis-rs创建redis连接的函数时如何防止生命周期问题

methods - 定义元组方法

autocomplete - 标准库中的项目未显示 Rust 自动完成

docker - 使用 Docker 构建缓存 Rust 依赖项

Rust actix-web 线程不安全移动

rust - 库应该向消费者公开 c_int 还是强制 i32 兼容性

rust - diesel 应该使用同步 actor、actix_web::web::block 还是 futures-cpupool 来运行?

rust - 我可以获取响应正文文本并从Actix-Web中间件对其进行修改吗?

dynamic - 如何在actix_web/rust的http响应中流式传输非静态字节?