rust - 如何设置响应的状态码?
问题描述
我正在将 actix 用于我正在开发的 Web 应用程序,并且我正在尝试将状态代码 409 设置为响应,但我不知道该怎么做。有点像这样:
HttpResponse::StatusCode(409).json(Status{
value: val,
isOn: true
})
解决方案
有几种方法可以显式设置状态码。最简单的方法是使用 actix-web的forwhen实现Responder
(T, StatusCode)
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,
)
}
推荐阅读
- java - 如何在 Linux shell 中继续运行特定数量的 java 进程?
- reactjs - 如何自定义 MaterialUI 颜色阴影
- c++ - 进程以状态 -1073741510 终止 - C++ 素数分解
- oracle - 为什么我会收到 ORA-06531:对未初始化集合的引用?
- microsoft-graph-api - 如何从 Microsoft 图形 API 下载文件 (InputStream)?
- vb.net - 是否可以有一个文件来控制我可以从任何形式访问的自定义标题栏的外观和感觉?
- pandas - 聚合后如何将熊猫数据框转换为单个索引?
- javascript - 如何修改survey-react npm 库以更改默认颜色?
- python - 接受多个单词作为参数的 Discord 机器人
- python - 定义一个等于其他两个数组长度的新变量