1 Star 0 Fork 0

越剑 / egg-grpc-framework

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

支持 HTTP、gRPC 请求的 EGG 框架

English

特性

  1. 支持 gRPC + Protobuf
  2. 扩展 egg 路由支持 RPC 方法
  3. 支持 egg 的中间件、插件
  4. 同时支持 HTTP、gRPC 请求,且共用 Controller 和 Service

快速开始

$ npm install egg-grpc-framework --save

用法

// package.json
{
  "name": "user",
  "egg": {
    "framework": "egg-grpc-framework"
  },
  // ...
}

配置

// {app_root}/config/config.default.js
config.gRPC = {
  // listen: false, // disable gRPCServer
  listen: {
    port: 50051,
    hostname: '0.0.0.0',
  },
  // protoLoader: {
  //   options: { keepCase: true, longs: String, enums: String, defaults: true, oneofs: true },
  // },
  // gRPCServerOptions: {},
};

案例

// {app_root}/app/router.js
'use strict';

module.exports = app => {
  const { router, controller } = app;
  router.rpc('/user/login', controller.user.login);
  router.get('/rpc', controller.user.test);
};
// {app_root}/app/controller/user.js
'use strict';

const Controller = require('egg').Controller;

class UserController extends Controller {

  async login() {
    const body = this.ctx.request.body;
    const result = await this.service.user.login(body);
    this.ctx.body = result;
  }

  // test http method call rpc
  async test() {
    const params = this.ctx.query;
    const result = await this.ctx.rpc.userService.user.login(params);
    this.ctx.body = result;
  }

}

module.exports = UserController;
// {app_root}/app/service/user.js
'use strict';

const Service = require('egg').Service;

class UserService extends Service {

  async login() {
    // ...
    return { state: 'ok' };
  }

}

module.exports = UserService;

测试

$ curl http://localhost:7001/rpc?username=admin&password=xxx

空文件

简介

egg grpc framework 展开 收起
JavaScript
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/msmao/egg-grpc-framework.git
git@gitee.com:msmao/egg-grpc-framework.git
msmao
egg-grpc-framework
egg-grpc-framework
master

搜索帮助