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

网站建设到发布2012sevser/2023新冠结束了吗

网站建设到发布2012sevser,2023新冠结束了吗,什么网站有加工外发做的,北京注销网站备案如何动态的传入一个参数去请求? 上面探索过程中,我们直接将参数写死在了查询字符串当中了。但是在很多应用中,字段的参数可能是动态的。你可能会想到说直接去“修改查询字符串”,后面再把它序列化为Graphql专用的格式。其实&…

如何动态的传入一个参数去请求?

上面探索过程中,我们直接将参数写死在了查询字符串当中了。但是在很多应用中,字段的参数可能是动态的。你可能会想到说直接去“修改查询字符串”,后面再把它序列化为Graphql专用的格式。其实,GraphQL 拥有一级方法将动态值提取到查询之外,然后作为分离的字典传进去。这些动态值即称为变量


UI界面调试器

其工作方式跟类型语言中函数的参数定义一样。它以列出所有变量,变量前缀必须为 $,后跟其类型。

  1. 构建查询数据接口
  2. ①括号内表示这个传入的$code必须是ID类型,并且后面加了一个感叹号,表示变量是一定必要的。
  3. 所以如果想要传递一个复杂对象到一个字段上,你必须知道服务器上其匹配的类型。可以从Schema页面了解更多关于输入对象类型的信息。

在这里插入图片描述

变量

代码设置为默认参数,可以通过在查询中的类型定义后面附带默认值的方式,将默认值赋给变量。当所有变量都有默认值的时候,你可以不传变量直接调用查询。在这里插入图片描述
如果任何变量作为变量字典的部分传递了,它将覆盖其默认值。

如下图,给他传入了一个参数"ca"
在这里插入图片描述

代码内部执行

/*** @Author: 勇敢 牛牛* @description: 根据code值请求地区的值全名* @return {*}*/export function getLanguage(params){return apolloClient.query({query:gql`query($value:ID!){language(code:$value){name,code }}`,variables:params})
}

Prmise实例接受参数。

getLanguage({value:"am"}).then(res=>{console.log(res);
}).catch(err=>{console.log("错误捕获",err);   
})

带有默认参数的查询:

export function getLanguage(params){return apolloClient.query({query:gql`query($value:ID!="am"){language(code:$value){name,code }}`,variables:params})
}

再不重新书写一个查询方法的请求下,如何动态的挑剔数据?

也就是说在请求阶段就通过某个参数嘎掉这个数据。
涉及到一个概念:“指令”。
强调这里的的不可为空的类型感叹号:“!”.如果后面有了利用这个参数的地方,切记加上不可为空的类型标识。
例如:
在这里插入图片描述
当我某个需要请求的选项在指令表示为false时,他就不会出现在我请求序列当中。而且传入了参数的话就需要使用这个参数,不然会报错
代码中表示为:(实现了一个次级选择)

这样的话,就是一个指令(Directives)

我们用了 GraphQL 中一种称作指令的新特性。一个指令可以附着在字段或者片段包含的字段上,然后以任何服务端期待的方式来改变查询的执行。GraphQL 的核心规范包含两个指令,其必须被任何规范兼容的 GraphQL 服务器实现所支持:

@include(if: Boolean) 仅在参数为 true 时,包含此字段。
@skip(if: Boolean) 如果参数为 true,跳过此字段。

指令在你不得不通过字符串操作来增减查询的字段时解救你。服务端实现也可以定义新的指令来添加新的特性。

①指令一
export function getLanguagePart(params){return apolloClient.query({query:gql`query($value:ID!="am",$is:Boolean!){language(code:$value){name,# 查询可以有备注!表示code依据is的参数表示是否需要code @include(if:$is),native }}`,variables:params})
}
②指令二
export function getLanguagePart(params){return apolloClient.query({query:gql`query($value:ID!="am",$is:Boolean!){language(code:$value){name,# 如果参数为 true,跳过此字段。code @skip(if:$is)native }}`,variables:params})
}getLanguagePart({value:"ca",is:false}).then(res=>{console.log("CA动态挑剔出数据",res);}).catch(err=>{console.log("错误捕获",err);})

别名(Aliases)

后来,我需要在一个同一个模型的接口中找出指定的两个code的详细信息,那么他们属于同与一个类型,如何更具参数把他们两个分开你,当然可以在写一个接口模型去查询,但是吧,graphql提供了这样的一个能力,你想在一个查询模型中,获取不同的类目下的字段结果。但是直接写两个类目模型就会存在冲突,于是分别给他们一个别名
在这里插入图片描述
在程序中就可以这样写:

export function getLanguageOther(params){return apolloClient.query({query:gql`query($code1:ID!="am",$code2:ID!="am"){one:language(code:$code1){native,name,code}two:language(code:$code2){native,name,code}}`,variables:params})
}getLanguageOther({code1:"ca",code2:"et"}).then(res=>{console.log("Other别名的数据:",res);
}).catch(err=>{console.log("错误捕获",err);
})

在这里插入图片描述
这可以让你重命名结果中的字段为任意你想到的名字。

片段(Fragments)

片段使你能够组织一组字段,然后在需要它们的地方引入。
场景:就像刚才上面的别名,我最最终是需要选择同一样的字段,但是如果字段复杂,我可能会丢失或者写错某些字段,造成不必要的排查。那么是这里需要的是同一样的字段,就要作为共同的使用的代码,就可以提取出来为代码的片段。

在这里插入图片描述
片段的概念经常用于将复杂的应用数据需求分割成小块,特别是你要将大量不同片段的 UI 组件组合成一个初始数据获取的时候。片段可以访问查询或变更中声明的变量,只需要定义好。
在代码如何去编写这样的代码

export function getLanguageOther(params){return apolloClient.query({query:gql`query($code1:ID!="am",$code2:ID!="am"){one:language(code:$code1){...contentPart  }two:language(code:$code2){...contentPart}},fragment contentPart on Language{native,name,code}`,variables:params,context:{name:"勇敢牛牛"},})
}

以上就是第二次学习Graphql的积累

请求头的配置

在这里插入图片描述
在代码中有:

import ApolloClient from 'apollo-boost';const apolloClient = new ApolloClient({// 你需要在这里使用绝对路径uri: 'https://countries.trevorblades.com/',headers:{"Authorization":"Basic aW5zaWdodHM6MTIz","content-type":"application/json"},request:(e)=>{// 买次请求之前执行了,但是没有拦截的意义,我将继续探索console.log("before=>",e.getContext());},onError:(e)=>{// 失败错误信息打印console.log("err=>",e.networkError.message)},clientState:{},
})export default apolloClient;

在这里插入图片描述

http://www.jmfq.cn/news/4838635.html

相关文章:

  • 网站 ca证书怎么做/关键词排名零芯互联排名
  • 如何选择网站建设案例/baidu百度
  • 企业网站建设webbj/南宁网站快速排名提升
  • 河北网站建设团队/网站优化关键词排名
  • 佛山市住房与城乡建设局网站/杭州网站推广优化公司
  • 佘山做网站/大数据营销成功案例
  • 北京游戏网站建设/怎么做线上销售
  • 外贸网站建设 广州/外国网站的浏览器
  • 助听器网站建设方案草稿/优秀网页设计
  • 做商城网站会不会被攻击/免费做推广的网站
  • 做书的网站有哪些内容吗/日本关键词热搜榜
  • dw内部网站链接怎么做/设计网站用什么软件
  • 天网网站建设/百姓网
  • 邯郸哪里做网站好/站内推广方案
  • 网站建设费计入那个科目/百度竞价排名商业模式
  • 网站怎么查哪家公司做的/南京市网站
  • 个人做电影网站服务器放国外安全吗/怎么在百度免费推广
  • 南充网站建设公司/网站推广关键词工具
  • wordpress改logo/整站seo服务
  • 开通建立企业网站/优化师是一份怎样的工作
  • wordpress用户前端创建相册/seo是指搜索引擎营销
  • 企业网站用户群/网络口碑营销的成功案例
  • 兰州论坛网站建设/黄石seo
  • 坪山公司网站建设/站长统计是什么意思
  • 金融网站建设/公司营销策划方案案例
  • 自己做的网站怎么链接火车头采集/搜索热词排行榜
  • 免费的网站认证/软文范例大全500字
  • 平台网站建设ppt/百度快照关键词推广
  • 石家庄网站设计/排名优化
  • 做网站时如何确定网站主题/西安网是科技发展有限公司