গ্রাফকিউএল হল একটি ওপেন-সোর্স ডেটা কুয়েরি ভাষা এবং এপিআইগুলির বিদ্যমান ডেটা দিয়ে কুয়েরি পূরণের জন্য একটি রানটাইম।
পূর্ণসংখ্যা
Int
ফ্লোটিং পয়েন্ট সংখ্যা
Float
এ সিকুয়েন্স অফ ইউনিকোড ক্যারেক্টারস
String
কোন আইডি ব্যবহার করা
ID
স্কেলার টাইপ
scalar
অবজেক্ট টাইপ
type
ইন্টারফেস টাইপ
interface
ইউনিয়ন টাইপ
union
ইনুমিরেশন টাইপ
enum
ইনপুট অবজেক্ট টাইপ
input
নালয়েবল স্ট্রিং
String
রিকোয়ার্ড স্ট্রিং
String!
লিস্ট অব স্ট্রিং
[String]
রিকোয়ার্ড লিস্ট অব স্ট্রিং
[String]!
রিকোয়ার্ড লিস্ট অব রিকোয়ার্ড স্ট্রিং
[String!]!
বেসিক ইনপুট
type Query { users(limit: Int): [User] }
ডিফল্ট মান সহ ইনপুট
type Query { users(limit: Int = 10): [User] }
অনেক গুলো আর্গুমেন্ট
type Query { users(limit: Int, sort: String): [User] }
ডিফল্ট মান সহ অনেক গুলো আর্গুমেন্ট
type Query { users(limit: Int = 10, sort: String = 'abc'): [User] }
সিঙ্গেল ইউনিয়ন ডিক্লেয়ার করা
type Foo { name: String }
ইউনিয়ন ইমপ্লিমেন্ট করা
union SingleUnion = Foo
সাবস্ক্রিপশন ডিক্লেয়ার করা
type Subscription { userAdded: User }
সাবস্ক্রিপশন ইমপ্লিমেন্ট করা
subscription { userAdded { id name } }
বেসিক কুয়েরি
{ status }
নেস্টেট কুয়েরি
{ user { name height } }
লিস্ট দেখা
{ friends { name } }
সিঙ্গেল ইন্টারফেস ডিক্লেয়ার করা
interface Foo { is_foo: Boolean }
ইন্টারফেস ইমপ্লিমেন্ট করা
type Bar implements Foo { is_foo: Boolean }
ইনুমিরেশন ডিক্লেয়ার করা
enum userType { REST, GraphQL, Both }
ইনুমিরেশন ইমপ্লিমেন্ট করা
type Root { checkType(userID: ID!): userType! }
মিউটেশন ডিক্লেয়ার করা
type Mutation { createUser(input: UserInput): User }
মিউটেশন ইমপ্লিমেন্ট করা
mutation { createUser(input: { name: 'John', email: '[email protected]' }) { id name email } }