Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Api GraphQL:建模演化类型/状态转换_Api_Graphql_Api Design_State Machine - Fatal编程技术网

Api GraphQL:建模演化类型/状态转换

Api GraphQL:建模演化类型/状态转换,api,graphql,api-design,state-machine,Api,Graphql,Api Design,State Machine,这是一个我们已经多次遇到的问题。。。非常期待别人的意见 场景描述(用于说明): 有人访问我们的网站,也许他们填写了一些表格,随便什么。对我们来说,此人是潜在客户/潜在客户。他们尚未完全成为客户;他们只是一个潜在的未来客户 可以对这些潜在客户执行某些操作,例如将某些数据添加到他们的配置文件中。让我们称之为add\u foobar\u data。当然,如果他们成为真正的客户(使用我们服务的人),我们仍然需要能够从他们的帐户中添加/删除所述数据 场景(tl;dr): 潜在客户可以成为客户 突变添

这是一个我们已经多次遇到的问题。。。非常期待别人的意见


场景描述(用于说明):

有人访问我们的网站,也许他们填写了一些表格,随便什么。对我们来说,此人是潜在客户/潜在客户。他们尚未完全成为客户;他们只是一个潜在的未来客户

可以对这些
潜在客户执行某些操作,例如将某些数据添加到他们的配置文件中。让我们称之为
add\u foobar\u data
。当然,如果他们成为真正的客户(使用我们服务的人),我们仍然需要能够从他们的帐户中添加/删除所述数据


场景(tl;dr):

  • 潜在客户
    可以成为
    客户
  • 突变
    添加foobar\u数据
    概念上适用于
    潜在客户
    客户
  • 潜在客户
    只有
    客户
    的一部分数据(他们是真正的子集;目前
    客户
    有很多不可为空的字段
    潜在客户
    没有)

选项

  • 创建联合类型,例如,
    可定制的
    add\u foobar\u data
    将返回一个
    customable
    (或返回到
    customable
    )而不是特定类型

  • 为修改
    潜在客户
    客户
    向潜在客户添加foobar数据
    向客户添加foobar数据

  • 每个人都是
    客户
    !将
    Customer
    上所有不在
    Prospect
    中的不可空字段设置为空,并添加一个名为
    isProspect
    的新标志(或
    isDraft
    ,如果我们想改变对流程的看法)

  • 也许是我没有想到的其他方法


  • 有没有人想过什么是解决这种情况的最佳方法以及原因?

    最终使用了一个,因为
    潜在客户
    客户
    的直接子集,而不是巧合