0

再会 !

我创建了一个带有基本端点的基本控制器BaseController ...

import { Get, Post, Put, Delete, HttpStatus, Request, Response } from '@nestjs/common';
import { MessageCodeError } from './../index';

export class BaseController {
    public dataService: any;

    constructor(public DataService: any) {
        this.dataService = DataService;
    }

    @Get('/')
    public async findAndCountAll(@Request() req, @Response() res) {
        const params = req.query;
        const offset = Number(params.skip) || 0;
        const limit = Number(params.limit) || 10;
        delete params.offset;
        delete params.limit;

        const records = await this.dataService.findAndCountAll({ where: params, offset, limit });
        return res.status(HttpStatus.OK).send({ total: records.count, data: records.rows });
    }
}

我尝试在其他控制器中使用它。例如,在UserController ...

import { Controller, Get, Post, Put, Delete, HttpStatus, Request, Response } from '@nestjs/common';
import { MessageCodeError } from '../common/index';
import { UserService } from './user.service';

import { BaseController } from './../common/shared/base.controller';

@Controller('users')
export class UserController extends BaseController {

    constructor(public userService: UserService) {
        super(userService);
    }

}

我想既然我在UserController类中从类BaseController继承,那么函数(充当端点)应该在UserController中可用。不过好像我错了……

对 *host:port/users* 的 *GET* 请求的屏幕截图

数据库正常,连接稳定,代码正常工作(至少在我决定将端点从UserController取出到BaseController 之前)。可能是什么错误?

4

1 回答 1

0

BaseController@Controller()装饰器注释你的。

import { Get, Post, Put, Delete, HttpStatus, Request, Response } from '@nestjs/common';
import { MessageCodeError } from './../index';

@Controller()
export class BaseController {
     public dataService: any;

     constructor(public DataService: any) {
         this.dataService = DataService;
     }

     @Get('/')
     public async findAndCountAll(@Request() req, @Response() res) {
         const params = req.query;
         const offset = Number(params.skip) || 0;
         const limit = Number(params.limit) || 10;
         delete params.offset;
         delete params.limit;

         const records = await this.dataService.findAndCountAll({ where: params, offset, limit });
         return res.status(HttpStatus.OK).send({ total: records.count, data: records.rows });
     }
}
于 2018-04-17T02:27:50.873 回答