@nestcloud/grpc
TypeScript icon, indicating that this package has built-in type declarations

0.7.17 • Public • Published

NestCloud - Grpc

NPM Version Package License NPM Downloads Travis Linux Coverage

Description

The loadbalance grpc module for nestcloud.

Installation

$ npm install --save @nestcloud/grpc

Quick Start

Import module

Before import GrpcModule, you need to import LoadbalanceModule first.

import { Module } from '@nestjs/common';
import { LoadbalanceModule } from '@nestcloud/loadbalance'
import { GrpcModule } from '@nestcloud/grpc';

@Module({
  imports: [
      LoadbalanceModule.forRoot({...}),
      GrpcModule.forRoot()
  ],
})
export class AppModule {}

Usage

import { Controller, Get } from '@nestjs/common';
import { RpcClient, GrpcClient, IClientConfig, Service } from '@nestcloud/grpc';
import { HeroService } from './interfaces/hero-service.interface';
import { join } from 'path';

const grpcOptions: IClientConfig = {
    service: 'rpc-server',
    package: 'hero',
    protoPath: join(__dirname, './hero.proto'),
};

@Controller()
export class HeroController {
    @RpcClient(grpcOptions)
    private readonly client: GrpcClient;
    @Service('HeroService', grpcOptions)
    private readonly heroService: HeroService;

    @Get()
    async execute(): Promise<any> {
        return await this.heroService.get({ id: 1 }).toPromise();
    }
}

More please visit the example: https://github.com/nest-cloud/nestcloud-grpc-example

Stay in touch

License

NestCloud is MIT licensed.

Readme

Keywords

none

Package Sidebar

Install

npm i @nestcloud/grpc

Weekly Downloads

19

Version

0.7.17

License

MIT

Unpacked Size

21.5 kB

Total Files

29

Last publish

Collaborators

  • zfeng