构建订阅服务:从请求处理到数据存储
1. 请求数据编码与测试
在处理 POST 请求时,键和值中的字符都需要进行百分比编码。例如,若姓名为 “Le Guin”,邮箱为 “ursula_le_guin@gmail.com”,则 POST 请求体应为 name=le%20guin&email=ursula_le_guin%40gmail.com ,其中空格用 %20 替换, @ 用 %40 替换。
总结如下:
- 若使用 application/x-www-form-urlencoded 格式提供有效的姓名和邮箱对,后端应返回 200 OK。
- 若姓名或邮箱缺失,后端应返回 400 BAD REQUEST。
为了验证这些需求,我们编写了几个集成测试,并将新测试添加到现有的 tests/health_check.rs 文件中。以下是部分测试代码:
// tests/health_check.rs
use std::net::TcpListener;
/// Spin up an instance of our application
/// and returns its address (i.e. http://localhos
fn spawn_app() -> String {
[...]
}
#[actix_rt::test]
async fn health_check_wo
超级会员免费看
订阅专栏 解锁全文
2332

被折叠的 条评论
为什么被折叠?



