graphql 后台服务项目架构(一)

本文介绍了一个基于Node.js、TypeScript及Express的GraphQL实战项目。该项目使用Mongodb和Mysql作为数据库,并通过Apollo Server实现了数据查询与修改功能。文章详细描述了项目的模块结构与功能,并提供了运行指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基础知识

简而言之,GraphQL 是一种描述如何请求数据的语法,通常用于客户端向服务器请求数据。GraphQL 有三个主要特点:

  • 允许客户端精确指定所需数据。
  • 可以更容易地从多个数据源聚合数据。
  • 使用类型系统描述数据。

相关的信息可以去官网了解 http://graphql.cn/

这篇博客的文章主要目的是使用的graphql服务了解搭建一个真实项目基本结构,使用到的基本技术如下:

  • 基于Nodejs,Typescript, Express
  • 数据库使用了Mongodb和Mysql
  • apollo-server,

项目结构信息如下图:

 

模块大概功能介绍:

  • common: 一些公用的功能如自定义的graphql scalar 文件上传,文件管理,文件服务
  • gql-system: 系统的一些表数据操作
  • gql-system/system.gql: 把gql-system下的所有gql文件集合导出
  • gql-system/system.resolver.ts: 把gql-system下的所有reolver文件集合导出
  • gql-system/user: 用户数据表操作,resolver 实现user.gql里面Query和Mutation的功能,user.gql代表Schema,user.ts是mongodb 的模型
  • gql-game: 一个整体的数据操作,相当于把相关表的数据的功能组织在一起同上
  • gql-mall:同上
  • base.gql 基础 scheam 
  • resolvers.ts 基本resolver组合其它resolve
  • schema.ts 基本的schema 组合其它schema
  • gql-system/user文件里面各文件相关功能(基本关系,user.gql描述文件,然后resolver实现功能,user.ts只是mondodb的模型):

以上是项目基本结构和基本代码功能,最终的项目效果图如下:

地址:http://localhost:8080/playground

 

地址:http://localhost:8080/voyage

 

 源码地址:https://files.cnblogs.com/files/lslgg/base-server.zip 

ps:因为是mongodb 所以运行项目以后直接先添加用户,然后登录以后就可以操作其它表了。

转载于:https://www.cnblogs.com/lslgg/p/8178669.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值