后端路由基础知识

基于 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 Found JSON 消息,而不是原始服务器错误。

📖 汇总表

特色 语法示例 主要用途
路径参数 /users/:id /users/:id识别资源
查询参数 /search?q=node /search?q=node过滤/分页
版本控制 /v1/items /v1/items管理重大变更
嵌套路由 /user/1/logs /user/1/logs分层数据

笔记综合自Sriniously 的后端系列