graphql 模式的命名约定是啥?

Posted

技术标签:

【中文标题】graphql 模式的命名约定是啥?【英文标题】:What is the name convention for graphql schema?graphql 模式的命名约定是什么? 【发布时间】:2020-09-30 12:44:12 【问题描述】:

我正在使用 graphql,我想知道突变/查询/订阅有标准的命名约定。

如果我把它命名为:

mutation 
   createOrGetUUID() # create a uuid if not exit, otherwise return the existing one


query 
   uuid() # query uuid

我担心的是突变createOrGetUUID。它有两种工作,一种是创造,另一种是获得。我应该给这个方法起什么名字?听起来这种方法同时适用于mutationquery

【问题讨论】:

【参考方案1】:

您可以在简单查询 [resolver] 下简单地隐藏此功能(业务/内部逻辑),因为不是 [real] 更新/显式突变。

query 
  uuid() # returns current uuid, creates new one if not exists

此方法通常用于在读取时更新更改的记录结构(不更新所有记录/整个数据库/表。

【讨论】:

据我了解,query 不应更新后端的任何内容。否则很难阅读和维护。就像其他世界中的getpost 你相信 get 只读取数据,总是,无处不在?这是维护的一部分,自动修复,没有引入额外的,不是真正需要的[外部]突变......你甚至可以写uuid() # returns current uuid将后端“神秘”隐藏/未记录 - 向后端寻求建议

以上是关于graphql 模式的命名约定是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Page 类的 graphql 模式定义应该是啥样的?

对象对象的 GraphQL 模式/解析器是啥样的?

在 GraphQL 服务器中实现访问控制的好模式是啥?

Apollo Graphql:重命名模式以实现向后兼容性

GraphQL/Sequelize:SQL 别名

在graphql中嵌套数据的正确方法是啥?