接口学习日记

刚开始有在cargo.toml上卡了好一会,因为rust-analyzer识别不出来,为了解决这个问题,首先是要在settings.json文件下添加cargo.toml的路径
image
然后再main.rs里面要采用axum 官方推荐的通用启动写法(适配所有 axum 0.7 版本),并且和cargo.toml版本适配即可
image
1.之后main.rs写一个GET/test接口处理函数,

async fn test_handler() -> Json<serde_json::Value> {
    Json(json!({"Hello,World!": 1}))
}

运行main.rs后去postman输入url后即可显示结果
image
2.http://127.0.0.1:8081/video/1 是单个视频接口,就是比如用户点击了视频卡片后,会加载这个视频的播放地址,然后在页面上播放这个视频。
image
http://127.0.0.1:8081/video_list 是视频列表接口,给前端返回所有视频的列表信息,可以让用户打开页面就看到所有视频的简介内容之类的然后再去选择点开哪个视频
image
3.

// 新增:GET /admin接口(直接返回401 Unauthorized)
async fn admin_handler() -> StatusCode {
    StatusCode::UNAUTHORIZED // 401状态码
}

http://127.0.0.1:8081/admin 是一个管理员权限接口,就是如果后面实现了 “管理员登录” 功能,登录成功后,再访问这个接口,就能进入后台管理页面;现在只是 “占位”,先返回 401 表示 “需要权限才能用”。
image
4.前三个都是get请求,这个是post请求,这里要在body这里选x-www-form-urlencoded,而不是form-data,因为axum 的Form提取器默认只支持application/x-www-form-urlencoded格式的表单
这个find接口是视频搜索接口,其实就是用户搜索单个视频,后端进行返回就可以看到搜索的那个用户想看的视频了
image
5.uoload接口就是可以让客户端上传文件,然后并保存在后端服务器中
这里要注意把内存调大一点,刚开始能正常上传mp3,不能上传mov,后面调大了就可以了
image

posted @ 2025-12-08 18:00  Katrina13  阅读(19)  评论(0)    收藏  举报