happiness (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) happiness

GraphQLのEnumのエラーの解消

状況

Railsで以下graphql-rubyを使っている https://graphql-ruby.org/

create mutationの payloadで Enumを参照しようとした時に発生

mutation {
  createAbc { input: { reason: a } }, 
{ 
  abc { 
   reason
}
}
enum AbcEnum {
  a
  b
  c
}

エラー内容

GraphQL::EnumType::UnresolvedValueError:
   Can't resolve enum AbcEnum for 0

原因 && 解消方法

モデルにenumの対応つけ忘れていたのが原因

class Abc < ApplicationRecord
+  enum reason: {
+    a: 1,
+    b: 2,
+    c: 3,
+  }
end

モデルで定義していない場合、0と認識されるわけね。理解しました。