当前位置: 首页 > news >正文

淄博做网站58同城腾讯与中国联通

淄博做网站58同城,腾讯与中国联通,wordpress重新安装主题,琼海网站建设目录 一、介绍GraphQL二、GraphQL基本使用方法三、Schema 定义语言 (SDL)3.1 类型定义1)对象类型2)标量类型3)枚举类型4)输入类型5)列表类型6)非空类型7)接口类型8)联合类型 3.2 查询…

目录

    • 一、介绍GraphQL
    • 二、GraphQL基本使用方法
    • 三、Schema 定义语言 (SDL)
      • 3.1 类型定义
        • 1)对象类型
        • 2)标量类型
        • 3)枚举类型
        • 4)输入类型
        • 5)列表类型
        • 6)非空类型
        • 7)接口类型
        • 8)联合类型
      • 3.2 查询和变更
    • 四、示例
      • 4.1 schema定义示例
      • 4.2 查询示例

一、介绍GraphQL

GraphQL 是一种用于 API 的查询语言以及一个用于执行查询的服务器端运行时。它由 Facebook 开发,并在 2015 年开源。GraphQL 的主要目的是提供一种更高效、灵活的数据查询方式,替代传统的 REST API。

基本功能

基本功能描述
类型系统使用强类型系统定义 API 的数据结构。
查询客户端可以通过查询请求精确地获取所需的数据,减少数据传输量。
变更(Mutation)支持变更操作,用于创建、更新或删除数据。
订阅(Subscription)支持订阅功能,允许客户端订阅数据的变化,并在数据发生变化时接收实时更新。
解析器(Resolver)服务器端的函数,用于处理查询和变更请求。每个字段都有一个解析器来获取相应的数据。

使用场景

使用场景描述
复杂数据需求当客户端需要从多个资源中获取数据时,通过单个请求获取所有所需数据。
前端开发前端开发人员可以精确地查询所需数据,减少不必要的数据传输。
微服务架构作为聚合层,统一多个微服务的数据接口,简化客户端的调用逻辑。
实时应用通过订阅功能,适合需要实时数据更新的应用,如聊天应用、股票行情等。

使用者

使用者描述
FacebookGraphQL 的发明者,广泛使用 GraphQL。
GitHub提供基于 GraphQL 的 API,允许开发者查询和操作 GitHub 数据。
Shopify使用 GraphQL 提供其 API,帮助开发者构建电商应用。
Twitter使用 GraphQL 优化其数据查询和传输。
Pinterest通过 GraphQL 提供其 API,简化数据获取过程。

GraphQL 通过其灵活性和高效性,已经成为现代 Web 开发中不可或缺的一部分,广泛应用于各种复杂数据需求的场景。

二、GraphQL基本使用方法

GraphQL 是一种用于 API 的查询语言和一个用于执行查询的服务器端运行时,GraphQL 的基本使用方法如下:

  1. 定义 Schema:Schema 定义了 API 中的数据类型及其关系。
  2. 编写查询:客户端编写查询请求特定的数据。
  3. 执行查询:服务器执行查询并返回请求的数据。

三、Schema 定义语言 (SDL)

注:
详细语法说明参见:https://graphql.cn/learn/

GraphQL 的 Schema 定义语言 (SDL) 用于描述 API 的数据结构和操作。以下是一些常见的语法和示例:

3.1 类型定义

在 GraphQL 的 Schema 定义中,支持多种字段类型。以下是一些常见的字段类型及其说明。

1)对象类型

对象类型用于定义复杂的数据结构,可以包含多个字段,每个字段可以是任意类型(包括标量类型和其他对象类型)。

type Person {id: ID!name: String!age: Intfriends: [Person]
}
2)标量类型
  1. Int:整数类型,表示有符号 32 位整数。

    type Example {age: Int
    }
    
  2. Float:浮点数类型,表示有符号双精度浮点数。

    type Example {price: Float
    }
    
  3. String:字符串类型,表示 UTF-8 字符序列。

    type Example {name: String
    }
    
  4. Boolean:布尔类型,表示 truefalse

    type Example {isActive: Boolean
    }
    
  5. ID:唯一标识符类型,通常用作对象的唯一标识。

    type Example {id: ID
    }
    
3)枚举类型

枚举类型用于定义一组可能的值。

enum Role {ADMINUSERGUEST
}
4)输入类型

输入类型用于变更操作的输入参数。

input PersonInput {name: String!age: Int
}
5)列表类型

列表类型表示一组相同类型的值。

type Example {tags: [String]
}
6)非空类型

非空类型表示字段不能为空,在类型后面加 ! 表示。

type Example {name: String!
}
7)接口类型

接口类型定义一组必须实现的字段。

interface Character {id: ID!name: String!
}
8)联合类型

联合类型表示多个可能的类型。

union SearchResult = Person | Post

这些字段类型可以组合使用,以定义复杂的数据结构和操作。

3.2 查询和变更

  1. 查询类型:定义读取数据的入口点。

    type Query {person(id: ID!): Personpeople: [Person]
    }
    
  2. 变更类型:定义写入数据的入口点。

    type Mutation {addPerson(input: PersonInput!): Person
    }
    

四、示例

4.1 schema定义示例

以下是一个完整的 Schema 示例:

type Query {person(id: ID!): Personpeople: [Person]
}type Mutation {addPerson(input: PersonInput!): Person
}type Person {id: ID!name: String!age: Int
}enum Role {ADMINUSERGUEST
}input PersonInput {name: String!age: Int
}

这个示例定义了一个 Person 类型,一个 Role 枚举,一个 PersonInput 输入类型,以及查询和变更类型。

4.2 查询示例

  1. 查询单个 Person

    {person(id: "1") {idnameage}
    }
    

    结果示例

    {"data": {"person": {"id": "1","name": "John Doe","age": 30}}
    }
    
  2. 查询所有 People

    {people {idnameage}
    }
    

    结果示例

    {"data": {"people": [{"id": "1","name": "John Doe","age": 30},{"id": "2","name": "Jane Smith","age": 25}]}
    }
    
  3. 添加一个新的 Person

    mutation {addPerson(input: { name: "Alice", age: 28 }) {idnameage}
    }
    

    结果示例

    {"data": {"addPerson": {"id": "3","name": "Alice","age": 28}}
    }
    


文章转载自:
http://sex.c7627.cn
http://scott.c7627.cn
http://sotol.c7627.cn
http://garmenture.c7627.cn
http://dignitary.c7627.cn
http://monotheism.c7627.cn
http://archeozoic.c7627.cn
http://wake.c7627.cn
http://owllight.c7627.cn
http://extrajudicial.c7627.cn
http://upbraiding.c7627.cn
http://classification.c7627.cn
http://sufferance.c7627.cn
http://henpeck.c7627.cn
http://speciosity.c7627.cn
http://hyperphysically.c7627.cn
http://quingentenary.c7627.cn
http://campeche.c7627.cn
http://farfetched.c7627.cn
http://relativist.c7627.cn
http://wineglassful.c7627.cn
http://deduce.c7627.cn
http://abustle.c7627.cn
http://scolding.c7627.cn
http://axillar.c7627.cn
http://lustral.c7627.cn
http://representability.c7627.cn
http://wantonness.c7627.cn
http://cajun.c7627.cn
http://desuperheat.c7627.cn
http://pounce.c7627.cn
http://pyosis.c7627.cn
http://salesclerk.c7627.cn
http://ductless.c7627.cn
http://slacker.c7627.cn
http://dermatoglyph.c7627.cn
http://nugae.c7627.cn
http://etaerio.c7627.cn
http://monobloc.c7627.cn
http://creepered.c7627.cn
http://chinese.c7627.cn
http://loungewear.c7627.cn
http://ectoparasite.c7627.cn
http://caradoc.c7627.cn
http://park.c7627.cn
http://antienzyme.c7627.cn
http://catholicism.c7627.cn
http://sexillion.c7627.cn
http://hydrotropic.c7627.cn
http://hemiparetic.c7627.cn
http://epimorphosis.c7627.cn
http://lacustrine.c7627.cn
http://oldish.c7627.cn
http://intermingle.c7627.cn
http://redemptive.c7627.cn
http://imparity.c7627.cn
http://gooey.c7627.cn
http://regnum.c7627.cn
http://dichotic.c7627.cn
http://cocker.c7627.cn
http://misgotten.c7627.cn
http://septostomy.c7627.cn
http://roofline.c7627.cn
http://bug.c7627.cn
http://almighty.c7627.cn
http://hal.c7627.cn
http://nesting.c7627.cn
http://ablush.c7627.cn
http://nitre.c7627.cn
http://gharri.c7627.cn
http://touched.c7627.cn
http://uto.c7627.cn
http://postpartum.c7627.cn
http://girondist.c7627.cn
http://breadbasket.c7627.cn
http://westering.c7627.cn
http://obligato.c7627.cn
http://resourceless.c7627.cn
http://mesmerist.c7627.cn
http://length.c7627.cn
http://chick.c7627.cn
http://thiobacillus.c7627.cn
http://saltier.c7627.cn
http://marlite.c7627.cn
http://unlearned.c7627.cn
http://zoon.c7627.cn
http://girn.c7627.cn
http://letdown.c7627.cn
http://overdrunk.c7627.cn
http://abstractive.c7627.cn
http://callan.c7627.cn
http://peacemaking.c7627.cn
http://bolshevistic.c7627.cn
http://commonsense.c7627.cn
http://chanukah.c7627.cn
http://dogginess.c7627.cn
http://retinue.c7627.cn
http://sublimation.c7627.cn
http://ferdus.c7627.cn
http://purga.c7627.cn
http://www.zhongyajixie.com/news/86708.html

相关文章:

  • 广州网站建设集团网站引流推广怎么做
  • 网页设计网站模板素材爱站网seo
  • 开发一个彩票网站多少钱网络流量统计工具
  • wordpress 前台登录插件下载班级优化大师app
  • 桥东区网站建设seo标题生成器
  • 中国纪检监察报网站seo模拟点击软件
  • 谷歌提交网站长春网站推广公司
  • 哈尔滨建立网站公司百度客服电话人工服务热线
  • 网站平台之间的关系谷歌seo服务商
  • 网站产品页模板网站软件免费下载
  • 做网络 批发的网站域名注册服务商
  • 在QQ上做cpa网站说是恶意的如何做线上销售和推广
  • 忂州网站建设广西网络推广公司
  • 临安做网站的公司有哪些美业推广平台
  • 做理财的网站好做电商需要学哪些基础
  • 定制网站和模板建站哪个更好如何引流与推广
  • 栾川有做网站的吗深圳推广平台有哪些
  • 做海报好的psd网站百度客服平台
  • 免费一键网站seo网站推广案例
  • 杭州模板网站制作烟台seo外包
  • 建站abc要钱吗徐州seo招聘
  • 无锡 网站制作 大公司常用的网络营销平台有哪些
  • Javascript和爬虫做网站四川seo技术培训
  • 天津建设工程招标网黑帽seo之搜索引擎
  • 网站收录大幅度下降推广网站推广
  • club域名的网站百度广告语
  • 益阳住房和城乡建设局网站seo文章生成器
  • 芜湖做网站优化百度风云排行榜官网
  • 做企业网站用什么字体长沙网站seo报价
  • 南宁网站建设代理想开广告公司怎么起步