logo
⚙️ 后端框架

GraphQL

GraphQL Cheat Sheet - 快速参考指南,收录常用语法、命令与实践。

📂 分类 · 后端框架🧭 Markdown 速查🏷️ 2 个标签
#graphql#api
向下滚动查看内容
返回全部 Cheat Sheets

Getting Started

Overview
  • An alternative approach to RESTful APIs
  • GraphQL is a query language for APIs
  • Easily describe the shape of the GraphQL API using clear shared terms.
  • Clients issue queries/mutations to read and update data
  • GraphQL syntax can express complex entity relations
  • Libraries to implement GraphQL in different languages

GraphQL {.link-arrow}

Schema
schemaGraphQL schema definition
queryRead and traverse data
mutationModify data or trigger an action
subscriptionRun a query when an event occurs
Built-in Scalar Types
IntSigned 32‐bit integer
FloatSigned double-precision floating-point value
StringUTF‐8 character sequence
Booleantrue or false
IDA Unique identifier
Type Definitions
scalarScalar Type
typeObject Type
interfaceInterface Type
unionUnion Type
enumEnum Type
inputInput Object Type
Type Modifiers
StringNullable String
String!Non-null String
[String]List of nullable Strings
[String]!Non-null list of nullable Strings
[String!]!Non-null list of non-null Strings
Input Arguments

Basic Input

JS
滚动查看更多
type Query {
    users(limit: Int): [User]
}

Input with default value

JS
滚动查看更多
type Query {
    users(limit: Int = 10): [User]
}

Input with multiple arguments

JS
滚动查看更多
type Query {
    users(limit: Int, sort: String): [User]
}

Input with multiple arguments and default values

JS
滚动查看更多
type Query {
    users(limit: Int = 10, sort: String): [User]
}
type Query {
    users(limit: Int, sort: String = "asc"): [User]
}
type Query {
    users(limit: Int = 10, sort: String = "asc"): [User]
}
Input Types
JS
滚动查看更多
input ListUsersInput {
    limit: Int
    since_id: ID
}
JS
滚动查看更多
type Mutation {
    users(params: ListUsersInput): [User]!
}
Custom Scalars
JS
滚动查看更多
scalar Url
type User {
    name: String
    homepage: Url
}
Interfaces
JS
滚动查看更多
interface Foo {
    is_foo: Boolean
}
interface Goo {
    is_goo: Boolean
}
type Bar implements Foo {
    is_foo: Boolean
    is_bar: Boolean
}
type Baz implements Foo, Goo {
    is_foo: Boolean
    is_goo: Boolean
    is_baz: Boolean
}

Object implementing one or more Interfaces

Unions
JS
滚动查看更多
type Foo {
    name: String
}
type Bar {
    is_bar: String
}
union SingleUnion = Foo
union MultipleUnion = Foo | Bar
type Root {
    single: SingleUnion
    multiple: MultipleUnion
}

Union of one or more Objects

Enums
JS
滚动查看更多
enum USER_STATE {
    NOT_FOUND
    ACTIVE
    INACTIVE
    SUSPENDED
}
type Root {
    stateForUser(userID: ID!): USER_STATE!
    users(state: USER_STATE, limit: Int = 10): [User]
}

Also see

相关 Cheat Sheets

1v1免费职业咨询
logo

Follow Us

linkedinfacebooktwitterinstagramweiboyoutubebilibilitiktokxigua

We Accept

/image/layout/pay-paypal.png/image/layout/pay-visa.png/image/layout/pay-master-card.png/image/layout/pay-airwallex.png/image/layout/pay-alipay.png

地址

Level 10b, 144 Edward Street, Brisbane CBD(Headquarter)
Level 2, 171 La Trobe St, Melbourne VIC 3000
四川省成都市武侯区桂溪街道天府大道中段500号D5东方希望天祥广场B座45A13号
Business Hub, 155 Waymouth St, Adelaide SA 5000

Disclaimer

footer-disclaimerfooter-disclaimer

JR Academy acknowledges Traditional Owners of Country throughout Australia and recognises the continuing connection to lands, waters and communities. We pay our respect to Aboriginal and Torres Strait Islander cultures; and to Elders past and present. Aboriginal and Torres Strait Islander peoples should be aware that this website may contain images or names of people who have since passed away.

匠人学院网站上的所有内容,包括课程材料、徽标和匠人学院网站上提供的信息,均受澳大利亚政府知识产权法的保护。严禁未经授权使用、销售、分发、复制或修改。违规行为可能会导致法律诉讼。通过访问我们的网站,您同意尊重我们的知识产权。 JR Academy Pty Ltd 保留所有权利,包括专利、商标和版权。任何侵权行为都将受到法律追究。查看用户协议

© 2017-2025 JR Academy Pty Ltd. All rights reserved.

ABN 26621887572