14. Object Type & Field
Types::AvengerType = GraphQL::ObjectType.define do
name ”Object Type Name"
field :field_name1, !types.String, property: “”, description: “”
field :field_name2, -> { types[Object Type] }
end
• AvengerType:ObjectType Class
• name:graphql object type name
• field:可以進行操作的字段
• field_name:可以是別名或是真實名稱
• type:可以使用scalar type或object type
• property:真實物件的名稱
• description:field的說明,會出現在graphql doc中
15. Field Type
• Scalar Type
• ID
• String
• Int
• Float
• Boolean
• Object Type
16. !的用途
• 帶!表示不可以是空
• 意義與資料庫設計中的nullable屬性相同
• 在查詢時:表示回傳值不可以是空,若要回傳的值是空
的,則會回傳錯誤訊息("message": "Cannot return null
for non-nullable field object_type.field_name")
• 在傳參時:表示傳入值不可以是空