处理器与上下文
处理器 - 一种资源或路由函数,用于向客户端发回数据。
ts
import { Elysia } from 'elysia'
new Elysia()
// `() => 'hello world'` is a handler
.get('/', () => 'hello world')
.listen(3000)处理器也可以是一个字面量值,参见 处理器
ts
import { Elysia } from 'elysia'
new Elysia()
// `'hello world'` is a handler
.get('/', 'hello world')
.listen(3000)对于像 文件 这样的静态资源,使用内联值会很有用。
上下文
包含每个请求的信息。它作为处理器的唯一参数传递。
typescript
import { Elysia } from 'elysia'
new Elysia()
.get('/', (context) => context.path)
// ^ This is a context上下文 存储了关于请求的信息,例如:
- body - 客户端发送到服务器的数据,如表单数据、JSON 负载。
- query - 作为对象的查询字符串。(查询字符串是从路径名之后以 '?' 问号开头的一个值中提取的)
- params - 解析为对象的路径参数
- headers - HTTP 头部,关于请求的额外信息,如 "Content-Type"。
参见 上下文。
预览
你可以通过查看 编辑器 部分来预览结果。
在预览窗口的 左上角 应该有一个小型的导航器。
你可以使用它在路径和方法之间切换以查看响应。
你也可以点击 来编辑 body 和 headers。
任务
让我们尝试提取上下文参数:
Show answer
- 我们可以从回调函数的第一个值中提取
body、query和headers。 - 然后我们可以像
{ body, query, headers }这样返回它们。
typescript
import { Elysia } from 'elysia'
new Elysia()
.post('/', ({ body, query, headers }) => {
return {
query,
body,
headers
}
})
.listen(3000)