代码之家  ›  专栏  ›  技术社区  ›  Aaron Ullal

nestjs创建基本crud服务

  •  3
  • Aaron Ullal  · 技术社区  · 6 年前

    我有几个实体需要定义基本的CRUD操作。

    BaseCrudService<T> UserService 那个 extends BaseCrudService<UserEntity>

    有可能吗?如果是的话,你打算怎么做?

    2 回复  |  直到 6 年前
        1
  •  9
  •   Aaron Ullal    6 年前

    创建基本CRUD服务,如下所示:

    export class BaseCrudService<Entity extends BaseEntity> {
    
        constructor(
            public repository: Repository<Entity>,
        ) { }
    
        async insertAsync(entity: Entity): Promise<InsertResult> {
            return this.repository.insert(entity);
        }
        ...
    }
    

    @Injectable()
    export class UserService extends BaseCrudService<UserEntity>{
      constructor(
        @InjectRepository(UserEntity)
        public repository: Repository<UserEntity>,
      ) {
        super(repository);
      }
    }
    

    现在,您已经完成了插入、删除、更新等工作。这适用于扩展类的所有服务。

    BaseCrudController .