路由参数与 Query
在 Fastify 中,可以通过 request.params 获取路径中的动态参数,通过 request.query 获取 URL 中的查询参数。
路由参数(Path Parameters)
使用冒号 : 来定义动态路径参数,例如:
fastify.get('/user/:id', async (request) => {
const { id } = request.params;
return { userId: id };
});
访问 /user/123 会返回:
{
"userId": "123"
}
支持多个参数:
fastify.get('/post/:postId/comment/:commentId', async (request) => {
const { postId, commentId } = request.params;
return { postId, commentId };
});
查询参数(Query Parameters)
用于处理 URL 中的 ?key=value 参数,例如:
fastify.get('/search', async (request) => {
const { keyword, page } = request.query;
return { keyword, page };
});
访问 /search?keyword=fastify&page=2 会返回:
{
"keyword": "fastify",
"page": "2"
}
Fastify 不限制参数个数和结构,但建议配合 Schema 做验证与类型转换。
混合使用
可以同时使用路径参数与查询参数:
fastify.get('/category/:id', async (request) => {
const { id } = request.params;
const { sort } = request.query;
return { id, sort };
});
请求 /category/5?sort=desc 返回:
{
"id": "5",
"sort": "desc"
}
相关内容
- Fastify 与 Express 对比 本节将对 Fastify 和 Express 两个流行的 Node.js 框架进行对比,帮助开发者理解它们的异同以及在不同场景下的选择。
- 中间件迁移指南 本节介绍如何在 Fastify 中迁移中间件,帮助开发者从其他框架(如 Express)迁移到 Fastify,理解 Fastify 中间件的工作方式,并学习如...
- 常用插件清单 本节列出了一些常用的 Fastify 插件,帮助开发者更好地扩展和定制 Fastify 应用。
- 核心 API 介绍 介绍 Fastify 中常用的核心 API,包括路由注册、请求与响应对象、日志等。
- Hello World 快速上手 Fastify,编写第一个 “Hello World” 应用,体验其简洁的 API 和高性能启动。
- 请求与响应对象 详解 Fastify 中的 request 和 reply 对象,用于获取请求信息和构造响应。