Interactive Playground
当前部署环境只有 2C4G。为了避免构建阶段因 Monaco、Rollup Browser 和 类型分析导致 OOM,这个版本只保留教程内容,不内嵌在线 Playground。
bun run build:full如需完整交互体验,请在更高配置环境执行上面的完整构建命令。
A status code is an indicator of how the server handles the request.
当您访问一个不存在的页面时,您一定听说过臭名昭著的 404 Not Found。
那是一个 状态码。
默认情况下,Elysia 会对成功的请求返回 200 OK。
根据情况,Elysia 还返回许多其他状态码,例如:
You can also return a status code by returning your response using the status function.
import { Elysia } from 'elysia'
new Elysia()
.get('/', ({ status }) => status(418, "我是一壶茶"))
.listen(3000)The status code can be a number or a string status name. These are equivalent:
status(418, "I'm a teapot")
status("I'm a teapot", "I'm a teapot")String status names provide TypeScript autocompletion for all valid HTTP statuses.
See Status.
类似地,你也可以通过返回 redirect 函数将请求重定向到另一个 URL。
import { Elysia } from 'elysia'
new Elysia()
.get('/', ({ redirect }) => redirect('https://elysiajs.com'))
.listen(3000)请参阅 重定向。
与状态码和重定向直接返回不同。
您可能会在应用程序中多次设置响应头。
因此,Elysia 提供了 set.headers 对象来设置响应头,而不是返回一个 headers 函数。
import { Elysia } from 'elysia'
new Elysia()
.get('/', ({ set }) => {
set.headers['x-powered-by'] = 'Elysia'
return '你好,世界'
})
.listen(3000)因为 headers 是 请求头,Elysia 通过前缀 set.headers 来区分请求头和响应头。
请参阅 响应头。
让我们练习一下我们所学的内容。
418 我是一壶茶,我们可以使用 status 函数。/docs 重定向到 https://elysiajs.com,我们可以使用 redirect 函数。x-powered-by 设置为 Elysia,我们可以使用 set.headers 对象。import { Elysia } from 'elysia'
new Elysia()
.get('/', ({ status, set }) => {
set.headers['x-powered-by'] = 'Elysia'
return status(418, '你好 Elysia!')
})
.get('/docs', ({ redirect }) => redirect('https://elysiajs.com'))
.listen(3000)