使用Nest+TypeORM开发接口时POST /users返回404错误如何解决
Nest 调用POST /users返回404问题排查方案
- 检查模块注册配置
首先确认路由对应的控制器已经被模块正确注册,如果你单独抽离了UserModule,需保证模块配置如下,且已经在AppModule的imports数组中引入:
如果你没有单独的用户模块,需要将import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { UserController } from './controller/user.controller'; import { UserService } from './service/user.service'; import { UserEntity } from './models/user.entity'; @Module({ imports: [TypeOrmModule.forFeature([UserEntity])], controllers: [UserController], providers: [UserService] }) export class UserModule {}UserController加入AppModule的controllers数组,UserService加入AppModule的providers数组,同时将TypeOrmModule.forFeature([UserEntity])加入AppModule的imports数组。控制器未被模块注册的情况下,Nest不会加载对应的路由,自然返回404。 - 检查全局路由前缀配置
查看项目启动入口main.ts,确认是否配置了全局路由前缀:// 存在该配置的话,实际请求路径需要加上前缀,示例配置下请求地址应为 http://localhost:3000/api/users app.setGlobalPrefix('api') - 检查服务运行状态
查看服务启动日志,确认服务正常启动无编译报错,监听端口确实为3000(如果端口被占用,Nest会自动顺延端口,你需要用日志中显示的端口发起请求)。 - 检查Postman请求配置
确认请求方法选择的是POST,路径拼写完全正确,无多余空格、斜杠或拼写错误。
内容的提问来源于stack exchange,提问作者Nishat Tasnim Mithila
相关产品推荐
相关产品推荐

