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