graphql 后台服務項目架構(一)


基礎知識

簡而言之,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 所以運行項目以后直接先添加用戶,然后登錄以后就可以操作其它表了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM