Installation
npm install grpc-server-ts --save
protobuf
hello.proto
syntax = "proto3";
option java_multiple_files = true;
option java_package = "io.grpc.service.test";
option objc_class_prefix ="RTG";
package hello;
service Hello {
rpc say(stream Empty) returns (stream Word) {};
}
message Empty {
}
message Word {
string word = 1;
}
define a service
import { Route, Service } from "grpc-server-ts";
@Service('path_to_hello.proto')
export class HelloService {
@Route
public async say() {
return 'hello world';
}
}
registry service grpc
import { RpcRegistry, Settings } from 'grpc-server-ts';
@Settings(settings)
class RPC extends RpcRegistry { }
RPC.start();
settings
{
port: "3333",
host: "localhost",
ca: "runtime/rpc/ca.crt",
cert: "runtime/rpc/server.crt",
key: "runtime/rpc/server.key"
}