Deno:访问控制器中的查询参数



我为Deno POC编写了几个API。

这是路由代码:

const router = new Router()
router.get('/posts', getPosts)
.get('/posts/:id', getPostsById)

对于第二条路由,我能够在控制器中获取路径参数:getPostsById,使用关键字:params。这是控制器代码:

export const getPostsById = (
{ params, response }: { params:any, response: any }) => {
console.log(params, '||| params')}

如何以类似的方式获取查询参数(例如:/posts/2222?userId=3(

我正在使用橡木进行路由。我尝试了橡树代码库中的各种关键字:查询,搜索等,但没有成功。

我也尝试了从Oak文档中获取查询,但我完全无法导入它。

In Oak ou 可以使用.searchParams

ctx.request.url.searchParams

要获得userId,您将使用:

const userId = ctx.request.url.searchParams.get('userId')

自 12 小时前推出以来,helpers.tsgetQuery目前仅在master上。

您可以导入将从master中提取的https://deno.land/x/oak/helpers.ts,而不是使用https://deno.land/x/oak@v4.0.0/mod.ts。不过,不建议这样做,但在新版本发布并且您可以使用标记的导入之前会这样做。

import { getQuery } from 'https://deno.land/x/oak/helpers.ts'
router.get("/book/:id/page/:page", (ctx) => {
getQuery(ctx, { mergeParams: true });
});

相关内容

  • 没有找到相关文章

最新更新