我正在尝试使用 Koa 构建一个简单的 REST API。为此,我正在使用 koa-router。我有两个问题:
每当我尝试在 mainRouter.ts 中向我的 POST 方法添加参数时,例如“:id”,邮递员都会显示“未找到”。我的要求:http://localhost:3000/posttest?id=200
我无法使用“ctx.params”获取参数。我在 koajs 页面上也找不到任何关于它的信息,但我确实到处都能看到这样的例子?!
这是我的应用程序:
应用程序.ts
import * as Koa from 'koa';
import * as mainRouter from './routing/mainRouter';
const app: Koa = new Koa();
app
.use(mainRouter.routes())
.use(mainRouter.allowedMethods());
app.listen(3000);
主路由器.ts
import * as Router from 'koa-router';
const router: Router = new Router();
router
.get('/', async (ctx, next) => {
ctx.body = 'hello world';
});
router
.post('/posttest/:id', async (ctx, next) => {
ctx.body = ctx.params.id;
});
export = router;
如果我将 POST 方法更改为此,我会得到“200”:
router
.post('/posttest', async (ctx, next) => {
ctx.body = ctx.query.id;
});