ati*_*ish 7 typescript deno oak
我为 Deno POC 编写了几个 api。
这是路线代码:
const router = new Router()
router.get('/posts', getPosts)
.get('/posts/:id', getPostsById)
Run Code Online (Sandbox Code Playgroud)
对于第二条路线,我可以使用关键字:params 在控制器中获取路径参数:getPostsById。这是控制器代码:
export const getPostsById = (
{ params, response }: { params:any, response: any }) => {
console.log(params, '||| params')}
Run Code Online (Sandbox Code Playgroud)
如何以类似的方式获取查询参数(例如:/posts/2222?userId=3)
我使用 Oak 进行路由。我尝试了 Oak 代码库中的各种关键字:查询、搜索等,但没有成功。
我也尝试了 Oak 文档中的 getQuery,但我完全无法导入它。
Mar*_*nde 12
在 Oak 中您可以使用.searchParams
ctx.request.url.searchParams
Run Code Online (Sandbox Code Playgroud)
为了获得userId你会使用:
const userId = ctx.request.url.searchParams.get('userId')
Run Code Online (Sandbox Code Playgroud)
getQueryfrom自从 12 小时前推出以来,目前helpers.ts仅处于开启状态。master
https://deno.land/x/oak@v4.0.0/mod.ts您可以导入https://deno.land/x/oak/helpers.ts将从中提取的内容,而不是使用master。虽然不建议这样做,但在新版本发布并且您可以使用标记导入之前会这样做。
import { getQuery } from 'https://deno.land/x/oak/helpers.ts'
router.get("/book/:id/page/:page", (ctx) => {
getQuery(ctx, { mergeParams: true });
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3281 次 |
| 最近记录: |