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

东营网站建设规划书智能建站系统个人网站

东营网站建设规划书,智能建站系统个人网站,蚌埠北京网站建设,做设计有哪些接私活的网站前言 GraphQL 是一种用于 API 的查询语言#xff0c;是由 Facebook 开源的一种用于提供数据查询服务的抽象框架。在服务端 API 开发中#xff0c;很多时候定义一个接口返回的数据相对固定#xff0c;因此要获得更多信息或者只想得到某部分信息时#xff0c;基于 RESTful AP…前言   GraphQL 是一种用于 API 的查询语言是由 Facebook 开源的一种用于提供数据查询服务的抽象框架。在服务端 API 开发中很多时候定义一个接口返回的数据相对固定因此要获得更多信息或者只想得到某部分信息时基于 RESTful API 的接口就显得不那么灵活。而 GraphQL 对 API 中的数据提供了一套易于理解的完整描述使得客户端能够准确地获得它需要的数据而且没有任何冗余也让 API 更容易地随着时间推移而演进还能用于构建强大的开发者工具。   目前LeetCode 和 GitHub 都借助 GraphQL 来设计提供了更大的灵活性对于想借助 GitHub 来了解 GraphQL 可直接访问 GraphQL API v4 或者参考 GraphQL 实战Github V4 API使用。而对于在 LeetCode 上使用 GraphQL 查询相对资料少一些因此在这我主要以 LeetCode 为例来做讲解其实是因为自己业余刷题时突发奇想想写一个爬虫。 过程   如果直接搜索以 Java 语言为载体的 GraphQL 的话一大部分搜索结果都是介绍使用 graphql-java 来搭建查询服务而我们的目的是利用 GraphQL 来获取想要的数据并非自己搭建一个查询服务因此如果一开始就选错了工具就会导致后面的方向都是错误的。   以 LeetCode 第一题 1.Two Sum 为例获取其后端发送过来的数据。利用 F12 功能调出如下界面选 Network 找到 graphql 文件有好多 graphql 文件可以依次点击查找自己想要的那个这里找到包含有题目信息的从 preview 中我们可以看到 data 返回了题目相关的信息   那么如何构造 GraphQL Query 来获取信息呢从 Header 中的 Request Payload 中我们可以看到一个query的字段这是我们要构造的 GraphQL Query 的一个重要信息。   我们并不一开始就用代码来获取题目信息而是先利用 Postman 来看看如何获取题目信息。右键 Network 下的 graphql 文件—Copy—Copy as cURL(bash)如下图所示 之后打开 Postman—左上角Import—Paste Raw Text粘贴从 Body中可以看到构造好了的 GraphQL Query 与我们在 Request Payload 中看到的 query 的字段相仿因为有一点需要更改的细节 当然如果不想直接粘贴复制的 cURL那么我们可以自己在 Postman 中写 Header 和 Body需要注意的是这边的 Content-Type是application/graphqlBody 中的 GraphQL 构造参照 Request Payload 中的query的字段来构造 获取到的结果如下 我们在实际中可能并不需要提供的所有信息只想要某一部分那么只需更改query即可这也是 GraphQL 的强大之处。比如我们只想要题目的content信息那么其query则为 query{question(titleSlug:two-sum) {content}} 复制代码代码 在上边已经利用 Postman 查询到想要的数据了而现在我们要做的就是用代码将上述操作展示出来。这边使用 OkHttp 来进行题目信息获取。 import okhttp3.*; import org.jsoup.Connection; import org.jsoup.Jsoup;import java.io.IOException; import java.util.Map;import static java.lang.System.out;public class Question {public static void main(String... args) throws IOException {String questionUrl https://leetcode.com/problems/two-sum/description/;String graphqlUrl https://leetcode.com/graphql;Connection.Response response Jsoup.connect(questionUrl).method(Connection.Method.GET).execute();MapString,Stringcookies response.cookies();for (Map.EntryString,Stringentry:cookies.entrySet()){//out.println(entry.getKey() : entry.getValue());}String csrftoken response.cookie(csrftoken);String __cfduid response.cookie(__cfduid);OkHttpClient client new OkHttpClient.Builder().followRedirects(false).followSslRedirects(false).build();String postBody query{\n question(titleSlug:\two-sum\) {\n content\n }\n }\n;Request request new Request.Builder().addHeader(Content-Type,application/graphql).addHeader(Referer,questionUrl).addHeader(Cookie,__cfduid __cfduid ; csrftoken csrftoken).addHeader(x-csrftoken,csrftoken).url(graphqlUrl).post(RequestBody.create(MediaType.parse(application/graphql; charsetutf-8),postBody)).build();Response response1 client.newCall(request).execute();//out.println(response1.headers());out.println(response1.body().string());} } 复制代码执行结果
http://www.pierceye.com/news/303571/

相关文章:

  • 一个网站备案多个域名吗合肥万户网站建设
  • 小型企业网站排名前十做网站的条件
  • 成都网站建设有名的公司网上商城制作哪家好
  • 做网站宣传多少钱黔东南网站设计公司
  • 网站开发人员职业分析wordpress数据库替换网址
  • ps切片工具做网站道滘镇网站仿做
  • 电子商务他们的代表网站html5视频网站模板
  • 广州网站建设乐云seo上海到北京高铁最快几小时
  • wordpress 音乐网站网站建设开发软件有哪些方面
  • 湛江网站营销163网站是jsp做的吗
  • 营山网站建设陕西做网站的公司地址
  • 十大网站黄页免费加盟办厂代加工
  • 上海 网站建设google深圳建网站 (报价)
  • 响应式做的比较好的网站校园网认证登录入口
  • 专业网站设计学校空间放两个网站
  • 万户网站建设网站流量突然增加
  • 中山住房和建设局网站小程序搭建的方式
  • 网站标题怎么做游戏推广工作好做吗
  • 网页设计制作网站模板免费静态网页设计模板免费
  • 成都的网站建设开发公司黄石网站建
  • 便宜的做网站公司网上下载的网页模板怎么用
  • 网站开发制作软件网站运营推广主要做什么的
  • 网页设计怎么建立网站网站馆店精准引流怎么推广
  • iis6建设网站上海到北京飞机航班查询
  • 做网站 创业 流程什么是网站标题
  • 怎么查询菠菜网站做没作弊沙朗做网站公司
  • 网站的建设周期与阶段广州王牌seo
  • 连江建设局网站手机网站建设套餐内容
  • 收录网站排名wordpress 搜索过滤
  • 上海网站建设代码长春又出现一例