首页 > 解决方案 > 服务和控制器中的 NestJS GET 函数返回 404 错误

问题描述

我正在尝试创建简单的 GET 逻辑,但是在 Postman 中尝试时收到 404 错误。

books.service.ts - 有简单的逻辑:

constructor(
        @InjectRepository(Books) private readonly booksRepo: Repository<Books>,
    ) { }

    async getBooks(): Promise<Books[]> {
        const allBooks = await this.booksRepo.find();
        return allBooks;
    }

books.controller.ts - 没有任何守卫

SERVER_URL: string = 'http://localhost:3000';

    constructor(private readonly booksService: BooksService) { }

    @Get('books')
    // @UseGuards(AuthGuard());
    async index(): Promise<Books[]> {
        return await this.booksService.getBooks();
    }

书籍实体没问题,所有书籍都在数据库中。服务器已启动。不明白为什么在 /books 上收到 404 错误...

标签: node.jstypescriptpostmannestjs

解决方案


当我们评论已删除的帖子时,您需要从@get() 中删除“书”,因为您在@Controller() 中使用“书”。以后贴上整个yout代码,这样就很容易发现这个小bug了:

@Controller('books')
export class BooksController {
    SERVER_URL: string = 'http://localhost:3000';

    constructor(private readonly booksService: BooksService) { }

    @Get()
    // @UseGuards(AuthGuard());
    async index(): Promise<Books[]> {
        return await this.booksService.getBooks();
    }
}

推荐阅读