shenqi
0.01D

想了解下你们是怎么在前端使用 graphql 的

  •  
  •   shenqi ·
    shenqihui · Oct 20, 2020 · 1531 views
    This topic created in 2040 days ago, the information mentioned may be changed or developed.

    我们目前

    目前在项目上已经使用 graphql 有 2 年多了,当时开始之前 dva + 实践派 restful,新项目开始的时候对于 graphql 是一脸懵逼,查了一堆资料,也尝试了当时的 graphql 库,最后也放弃治疗,自己手动写 post,强行将 graphql 在项目上使用了。

    然后经过不断的偷懒工作,两年多下来,在前端项目上将 graphql 当成 restful 的方式使用,通过自动创建 post 体,只需要传输例如 teacher 表明自动生成 增删改查 之类常规接口,query 类型如果无特殊操作都能自动生成, 非常规 mutation 类型只需要传输 mutationType + 接口参数 。

    使用大概思路

    具体大概方式就是通过 __schema(生产会静态化)来查询语法文档,然后通过里面的字段关联,自动创建 post 的 body 信息,达到

    • qurey 类型查询能够自动化,传输 query 名称即可动态实时生成全字段查询。
    • mutation 类型通过传输 mutationType + 接口参数 就能发出更新请求。

    这背后夹带着结合业务时候进行构建语法字段的时候白名单和黑名单字段操作。

    例如我们最终的一个增删改查的 services,这样子就完成了个教师这个表的列表、详情、新增、删除等通用方法。

    import Factory from '@/services/_factory';
    import ServiceCommon from '@/services/common';
    
    const model = 'teacher';
    
    const Service = Factory({
      model,
    });
    return Service ;
    

    最后感觉就会已经是在前端领域脱离了真正 graphql 的意义了。(当然如果手动传输查询体中间的内容是支持的)

    最后

    想知道现在正在使用 graphql 的团队,除了 Relay 、apollo 之类的,有什么特殊的使用方式。

    1 replies    2020-10-21 14:45:11 +08:00
    shenqi
        1
    shenqi  
    OP
       Oct 21, 2020
    没人看、、、
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4147 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 10:11 · PVG 18:11 · LAX 03:11 · JFK 06:11
    ♥ Do have faith in what you're doing.