首页 > 解决方案 > 如何使用 Deno (oak) 返回 html 或 json?

问题描述

我见过:如何使用 deno 返回 html 或 json?但我需要 Oak 的答案 - 在下面发布。

标签: typescriptdenooak

解决方案


这将是这样的:

import { Application } from 'https://deno.land/x/oak/mod.ts'
import { Router } from 'https://deno.land/x/oak/mod.ts'
const port = 8000

// Handler
const getTestResponse = ({ response }: { response: any }) => {
    response.status = 200
    response.headers.set("Content-Type", "application/json") // set to html if you want
    response.body = {
        data: "test"
    }
}

const app = new Application()

// Router
const router = new Router()
router.get('/api/v1/test', getTestResponse)
app.use(router.routes())
app.use(router.allowedMethods())

console.log(`Server running on port ${port}`)

await app.listen({ port })
  • 默认情况下使用 JSON 作为响应(无需像示例中那样显式设置) - 我只是想表明您可以更改它。

注意请将处理程序、路由和主代码拆分到现实世界中的不同模块,这样别人就不会生你的气了:)


推荐阅读