Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.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
GraphQL-定义类型定义的默认值_Graphql - Fatal编程技术网

GraphQL-定义类型定义的默认值

GraphQL-定义类型定义的默认值,graphql,Graphql,我目前正在进行一个项目,允许用户记录他们的训练。我已经为他们将记录的每个集合创建了此类型和输入定义(将链接到相应的练习): 当用户在客户端输入重量值时,我希望他们能够在千克(kg)和磅(lb)度量之间进行选择。这让我意识到,在服务器端我需要一个默认的度量/值,这样当用户检索他们的训练日志时,就不会对他们为一套训练所做的体重感到困惑 有没有办法为重量设置默认度量(例如kg)?定义输入对象类型时,可以为输入字段提供默认值: enum Unit { KG LB } input SetInpu

我目前正在进行一个项目,允许用户记录他们的训练。我已经为他们将记录的每个集合创建了此类型和输入定义(将链接到相应的练习):

当用户在客户端输入重量值时,我希望他们能够在千克(kg)和磅(lb)度量之间进行选择。这让我意识到,在服务器端我需要一个默认的度量/值,这样当用户检索他们的训练日志时,就不会对他们为一套训练所做的体重感到困惑

有没有办法为重量设置默认度量(例如kg)?

定义输入对象类型时,可以为输入字段提供默认值:

enum Unit {
  KG
  LB
}

input SetInput {
  reps: Int!
  weight: Float!
  unit: Unit = KG
}

但是,这仅意味着,如果在发出使用此输入类型的任何请求时忽略该字段,则
单位
的值将为
KG
。由您的服务器逻辑来保留
单元
值并适当返回它。

谢谢,这是否意味着我可以不使用此默认值,让我的解析器代码(服务器逻辑)在存储到数据库之前进行转换,所以它总是以kg为单位?因为用户在输入权重时不能忽略此字段,因为您将API与UI混为一谈。如果您想让用户不能省略该字段,那么无论您在模式中是否有默认值,您都可以在前端执行该操作。
enum Unit {
  KG
  LB
}

input SetInput {
  reps: Int!
  weight: Float!
  unit: Unit = KG
}