ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# Rest风格API规范 规范出的主要目的就是统一接口,使之统一化语义化. 数据在后端的处理无非就是CURD(增删改查),设计好的接口能够使前后端减少不必要的沟通. ## 对请求方式的功能性定义 `GET ` 用来获取资源, `POST` 用来新建资源(也可以用于更新资源), `PUT` 用来更新资源, `DELETE` 用来删除资源。 ## 常识问题 `GET` 传参通过query 也就是 `/api/user?query1=xxx&query2=123` `POST` 传参主要通过body 也就是包裹在请求体内 下面使用 `用户` ## 增加数据 C ✅正确示范 `POST /api/user` ❌错误示范 `POST /api/user/createUser` ## 更新数据 U 1. 修改用户信息 ✅正确示范 `POST /api/user/:id/edit` ❌错误示范 `POST /api/user/updateUser` 2.更改用户状态,比如给某个用户点赞 `POST /api/user/:id/zan` 以此类推 给某类对象改变特殊状态采用以下方式 `POST /api/user/:id/function` 给某篇文章点赞 `POST /api/post/:id/zan` 收藏某篇文章 `POST /api/post/:id/fav` 加入一个群 `POST /api/group/:id/join` ## 阅读数据 R ### 单条数据 1 获取单条数据 获取某人个人详情 `GET /api/user/:id` ### 数据列表 > 数据列表一般都会有分页 1 获取数据列表 比如取所有用户 `GET /api/user` 一般列表会有很多检索,过滤 比如搜索.类别 这类检索信息通过query 传参 - 比如 获取名称含有张的用户 `GET /api/user?search_field=name&keyword=张` - 比如 获取用户中的超级会员 `GET /api/user?vip=1` - 比如 获取分页信息 `GET /api/user?page=2&limit=20` - 比如 获取年龄为15的用户 `GET /api/user?age=15` 所有的查询请求可以叠加 比如 `GET /api/user?search_field=name&keyword=张&page=2&limit=20&age=15` 2 获取对象相关的数据列表 - 比如 获取某人的帖子 `GET /api/user/:id/post` - 比如获取某人关注的话题 `GET /api/user/:id/topic` ## 删除数据 `DELETE /api/user/:id` ## 使用路由 ``` Route::post('xdk/plan$','xdk/plan/save'); Route::post('xdk/plan/:id/fav$','xdk/plan/fav'); Route::post('xdk/plan/:id/comments$','xdk/plan/comments'); //推荐 ```