【发布时间】:2021-09-05 14:58:56
【问题描述】:
我正在使用 NestJS (NodeJS) 创建一个 API,为了在本地环境中运行它而不运行所有外部 API,我想在我的 API 运行时模拟对外部 API 的调用。
为了做到这一点,我选择了Json-server来做,代码如下:
模拟服务器.ts:
export async function bootstrap() {
const app = create();
app.use(
defaults({
logger: true,
static: 'static',
}),
router(dbJSON),
jsonServer.rewriter(routesJSON),
);
app.use('/api', router);
}
我也试过了:
export async function bootstrap() {
const app = create();
app.use(
defaults({
logger: true,
static: 'static',
}),
router(db),
jsonServer.rewriter(routesJSON),
);
app.use('/api', router);
const port = process.env.mockPort ?? 8080;
app.listen(port);
main.ts:
async function bootstrap() {
const app = await NestFactory.create(AppModule)
const mocks = await import('../mocks/server');
app.use(await mocks.bootstrap(null));
await app.listen(DEFAULT_HTTP_PORT, DEFAULT_HOST);
}
但是,我的 API 本身被模拟了,而不是使用 db 和提供给 Json-server 的路由来模拟对外部 API 的调用。
关于如何在运行时模拟对外部 API 的 API 调用有什么想法吗?或者如何让 json-server 模拟调用 httpService 调用而不是 API 本身
【问题讨论】:
标签: node.js mocking backend nestjs json-server