Routes
后端路由基础知识
基于 Srinously 的教程,关于后端系统如何将传入的 HTTP 请求映射到特定业务逻辑的综合指南。
🚀 概述
路由是请求的“何处”。它结合了 HTTP 方法(意图)和 URL 路径(位置)来查找服务器上正确的处理程序。
🛠 核心概念
1. 静态与动态路由
- 静态路由: 常量路径,如
/api/books。它们总是指向相同的资源。 - 动态路由: 包含变量的路径,称为 路径参数。
- 示例:
/api/users/:id其中:id可以是123。 - 用法: 从语义上识别特定资源。
- 示例:
2. 查询参数
主要用于 GET 请求来发送没有请求正文的元数据。
- 语法:
/api/books?page=2&limit=20 - 常见用例:
- 分页(例如,
page=2) - 过滤(例如,
category=tech) - 排序(例如,
sort=asc)
- 分页(例如,
3.嵌套路由
表达资源之间的关系。
- 示例:
/api/users/:userId/posts/:postId - 含义:“获取属于特定用户的特定帖子。”
4. API 版本控制和弃用
允许进行重大更改而不会使现有客户端应用程序崩溃。
- V1:
/api/v1/products(旧格式) - V2:
/api/v2/products(具有更新架构的新格式) - 好处: 为前端工程师提供迁移窗口。
5. 包罗万象的路线
未定义端点的安全网。
- 处理程序: 通常定义为
app.get('*', ...) - 用途: 返回干净的
404 Not FoundJSON 消息,而不是原始服务器错误。
📖 汇总表
| 特色 | 语法示例 | 主要用途 |
|---|---|---|
| 路径参数 | /users/:id |
/users/:id识别资源 |
| 查询参数 | /search?q=node |
/search?q=node过滤/分页 |
| 版本控制 | /v1/items |
/v1/items管理重大变更 |
| 嵌套路由 | /user/1/logs |
/user/1/logs分层数据 |
笔记综合自Sriniously 的后端系列
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 xhj的博客!