实现博客接口,使用TS编写,后台接口用GraphQL实现,利用gRPC操作数据库
本项目利用 Node 的 express 来框架,使用 GraphQL 开发了博客系统常用的后端接口,利用 GRPC 实现了对数据库的操作,提供了 TypeScript 和 JavaScript 两个版本,比较适合刚开始学习 GraphQL 和 GRPC 的小伙伴作为练手的小项目。
目录结构
.
├── doc // Issue&UpdateLog
├── build // TS 文件编译结果
├── src // TS版本代码
│ ├── config
├── db.ts
├── grpcConf.ts
│ ├── controller
├── blog.ts
├── user.ts
├── graphql.ts
│ ├── public
├── index.html
│ ├── types
├── index.ts
│ └── db
├── mysql.ts
│ └── grpc
├── server.ts
├── client.ts
├── blog.proto
│ ├── app.ts
├── src_JS // JS版本代码
├── example // GraphQL,GRPC单独的测试案例
├── README.md
├── package-lock.json
├── package.json
├── tsconfig.json
1)将此仓库 clone 到本地。
git clone https://github.com/happyCoding1024/blog-grpc-graphql.git
2)进入项目,打开命令行安装依赖包。
npm install
3)配置 MySql,程序中用到的 MySql 配置如下。
MYSQL_CONF = {
host: 'localhost',
user: 'root',
password: '123456',
port: '3306',
database: 'huisi'
};
在 huisi 数据库下新建 blogs 表,设置如下:
新建 users 表,设置如下:
4)运行
在命令行中运行 npm run dev
,同时打开浏览器输入 localhost:4000/graphql
。
出现类似于下图所示的界面表示启动成功。
5)调试验证
本项目没有开发相应的前端部分,可以采用 GraphQL 自带的 GraphiQL 进行接口的调试验证。
关于本项目中实现的接口以及如何调试,可以参考 调试验证接口说明。
这个小项目主要实现了下面这些功能的后端接口。
获取博客列表
获取博客详情
新建博客
更新博客
删除博客
登录
注册
Node + Express + TypeScript + GraphQL + GRPC + MySql
记录新增的功能,修正的 bug,解决问题的方法,TodoList,学习心得等
如果您发现此项目有任何问题,希望可以抽时间告诉作者,感谢您的贡献,非常感谢。
如果您感觉此项目还可以,欢迎 star 鼓励一下作者,非常感谢。
联系方式: