我为什么要放弃RESTful,选择拥抱GraphQL 环球热点评
腾讯云 2023-02-14 13:15:35

背景

REST作为一种现代网络应用非常流行的软件架构风格,自从Roy Fielding博士在2000年他的博士论文中提出来到现在已经有了20年的历史。它的简单易用性,可扩展性,伸缩性受到广大Web开发者的喜爱。

REST 的 API 配合JSON格式的数据交换,使得前后端分离、数据交互变得非常容易,而且也已经成为了目前Web领域最受欢迎的软件架构设计模式。


(资料图片仅供参考)

但随着REST API的流行和发展,它的缺点也暴露了出来:

滥用REST接口,导致大量相似度很高(具有重复性)的API越来越冗余。对于前端而言:REST API粒度较粗,难以一次性符合前端的数据要求,前端需要分多次请求接口数据。增加了前端人员的工作量。对于后端而言:前端需要的数据往往在不同的地方具有相似性,但却又不同,比如针对同样的用户信息,有的地方只需要用户简要信息(比如头像、昵称),有些地方需要详细的信息,这就需要开发不同的接口来满足这些需求。当这样的相似但又不同的地方多的时候,就需要开发更多的接口来满足前端的需要。增加了后端开发人员的工作量和重复度。

那我们来分析一下,当前端需求变化,涉及到改动旧需求时,会有以下这些情况:

「做加法:」

产品需求增加,页面需要增加功能,数据也就相应的要增加显示,那么REST接口也需要做增加,这种无可厚非。

「做减法:」

产品需求减少,页面需要减少功能,或者减少某些信息显示,那么数据就要做减法。

一种通常懒惰的做法是,前端不与后端沟通,仅在前端对数据选择性显示。

因为后端接口能够满足数据需要,仅仅是在做显示的时候对数据进行了选择性显示,但接口的数据是存在冗余的,这种情况一个是存在数据泄露风险,另外就是数据量过大时造成网络流量过大,页面加载缓慢,用户流量费白白消耗,用户体验就会下降。

另外一种做法就是告知后端,要么开发新的接口,要么,修改旧接口,删掉冗余字段。

但一般来说,开发新接口往往是后端开发人员会选择的方案,因为这个方案对现有系统的影响最低,不会有额外的风险。

修改旧接口删除冗余数据的方案往往开发人员不会选择,这是为什么呢?

这就涉及到了系统的稳定性问题了,旧接口往往不止是一个地方在用,很有可能很多页面、设置不同客户端、不同服务都调用了这个接口获取数据,不做详细的调查,是不可能知道到底旧接口被调用了多少次,一旦改动旧接口,涉及范围可能非常大,往往会引起其他地方出现崩溃。改动旧接口成本太高,所以往往不会被采取。

「同时做加减法:」

既有加法,又有减法,其实这种就跟新需求没啥区别,前端需要重做页面,后端需要新写接口满足前端需要,但是旧接口还是不能轻举妄动(除非确定只有这一处调用才可以删除)。

往往这个时候,其实用到的数据大多都是来自于同一个DO或者DTO,不过是在REST接口组装数据时,用不同的VO来封装不同字段,或者,使用同样的VO,组装数据时做删减。

看到这些问题是不是觉得令人头大?

所以需求频繁改动是万恶之源,当产品小哥哥改动需求时,程序员小哥哥可能正提着铁锹赶来......

那么有没有一种方案或者框架,可以使得在用到同一个领域模型(DO或者DTO)的数据时,前端对于这个模型的数据字段需求的改动,后端可以根据前端的改动和需要,自动适配,自动组装需要的字段,返回给前端呢?如果能这样做的话,那么后端程序猿小哥可能要开心死了,前端妹子也不用那么苦口婆心地劝说后端小哥哥了。

所以GraphQL隆重出世了!那么问题来了!

Part 1 What is GraphQL

GraphQL简介

GraphQL是一种新的API标准,它提供了一种比REST更有效、更强大和更灵活的替代方案。它是由Facebook开发并开源的,现在由来自世界各地的公司和个人组成的大型社区维护。GraphQL本质上是一种基于api的查询语言,现在大多数应用程序都需要从服务器中获取数据,这些数据存储可能存储在数据库中,API的职责是提供与应用程序需求相匹配的存储数据的接口。它是数据库无关的,而且可以在使用API的任何环境中有效使用,我们可以理解为GraphQL是基于API之上的一层封装,目的是为了更好,更灵活的适用于业务的需求变化。

简单的来说,它

它的工作模式是这样子的:

GraphQL 对比 REST API 有什么好处?

REST API 的接口灵活性差、接口操作流程繁琐,GraphQL 的声明式数据获取,使得接口数据精确返回,数据查询流程简洁,照顾了客户端的灵活性。

客户端拓展功能时要不断编写新接口(依赖于服务端),GraphQL 中一个服务仅暴露一个 GraphQL 层,消除了服务器对数据格式的硬性规定,客户端按需请求数据,可进行单独维护和改进。

REST API 基于HTTP协议,不能灵活选择网络协议,而传输层无关、数据库技术无关使得 GraphQL 有更加灵活的技术栈选择,能够实现在网络协议层面优化应用。

举个经典的例子:前端向后端请求一个book对象的数据及其作者信息。

我用动图来分别演示下REST和GraphQL是怎么样的一个过程。

先看REST API的做法:

REST API获取数据

再来看GraphQL是怎么做的:

GraphQL获取数据

可以看出其中的区别:

与REST多个endpoint不同,每一个的 GraphQL 服务其实对外只提供了一个用于调用内部接口的端点,所有的请求都访问这个暴露出来的唯一端点。

Endpoints对比

REST API"s Endpoints

GraphQL 实际上将多个 HTTP 请求聚合成了一个请求,将多个 restful 请求的资源变成了一个从根资源 POST 访问其他资源的 Comment 和 Author 的图,多个请求变成了一个请求的不同字段,从原有的分散式请求变成了集中式的请求,因此GraphQL又可以被看成是图数据库的形式。

图数据库模式的数据查询

那我们已经能看到GraphQL的先进性,接下来看看它是怎么做的。

GraphQL 思考模式

使用GraphQL接口设计获取数据需要三步:

GraphQL获取数据三步骤

首先要设计数据模型,用来描述数据对象,它的作用可以看做是VO,用于告知GraphQL如何来描述定义的数据,为下一步查询返回做准备;前端使用模式查询语言(Schema)来描述需要请求的数据对象类型和具体需要的字段(称之为声明式数据获取);后端GraphQL通过前端传过来的请求,根据需要,自动组装数据字段,返回给前端。

GraphQL的这种思考模式是不是完美解决了之前遇到的问题呢?!

总结它的好处:

在它的设计思想中,GraphQL 以图的形式将整个 Web 服务中的资源展示出来,客户端可以按照其需求自行调用,类似添加字段的需求其实就不再需要后端多次修改了。

创建GraphQL服务器的最终目标是:

允许查询通过图和节点的形式去获取数据。

是什么让我放弃了restful api?了解清楚后我全面拥抱GraphQL

GraphQL执行逻辑

有人会问:

使用了GraphQL就要完全抛弃REST了吗?GraphQL需要直接对接数据库吗?使用GraphQL需要对现有的后端服务进行大刀阔斧的修改吗?

答案是:NO!不需要!

它完全可以以一种不侵入的方式来部署,将它作为前后端的中间服务,也就是,现在开始逐渐流行的 前端 —— 中端 —— 后端 的三层结构模式来部署!

那就来看一下这样的部署模式图:

GraphQL执行逻辑

也就是说,完全可以搭建一个GraphQL服务器,专门来处理前端请求,并处理后端服务获取的数据,重新进行组装、筛选、过滤,将完美符合前端需要的数据返回。

新的开发需求可以直接就使用GraphQL服务来获取数据了,以前已经上线的功能无需改动,还是使用原有请求调用REST接口的方式,最低程度的降低更换GraphQL带来的技术成本问题!

如果没有那么多成本来支撑改造,那么就不需要改造!

只有当原有需求发生变化,需要对原功能进行修改时,就可以换成GraphQL了。

GraphQL应用的基本架构

下图是一个 GraphQL 应用的基本架构,其中客户端只和 GraphQL 层进行 API 交互,而 GraphQL 层再往后接入各种数据源。这样一来,只要是数据源有的数据, GraphQL 层都可以让客户端按需获取,不必专门再去定接口了。

GraphQL应用基本架构

一个GraphQL服务仅暴露一个 GraphQL Endpoint,可以按照业务来进行区分,部署多个GraphQL服务,分管不同的业务数据,这样就可以避免单服务器压力过大的问题了。

GraphQL特点总结

声明式数据获取(可以对API进行查询): 声明式的数据查询带来了接口的精确返回,服务器会按数据查询的格式返回同样结构的 JSON 数据、真正照顾了客户端的灵活性。一个微服务仅暴露一个 GraphQL 层:一个微服务只需暴露一个GraphQL endpoint,客户端请求相应数据只通过该端点按需获取,不需要再额外定义其他接口。传输层无关、数据库技术无关:带来了更灵活的技术栈选择,比如我们可以选择对移动设备友好的协议,将网络传输数据量最小化,实现在网络协议层面优化应用。

Part 2 Schema & Type

GraphQL支持的数据操作

GraphQL对数据支持的操作有:

查询(Query):获取数据的基本查询。变更(Mutation):支持对数据的增删改等操作。订阅(Subscription):用于监听数据变动、并靠websocket等协议推送变动的消息给对方。

GraphQL支持的操作

GraphQL的核心概念:图表模式(Schema)

要想要设计GraphQL的数据模型,用来描述你的业务数据,那么就必须要有一套Schema语法来做支撑。

想要描述数据,就必须离不开数据类型的定义。所以GraphQL设计了一套Schema模式(可以理解为语法),其中最重要的就是数据类型的定义和支持。

那么类型(Type)就是模式(Schema)最核心的东西了。

什么是类型?

对于数据模型的抽象是通过类型(Type)来描述的,每一个类型有若干字段(Field)组成,每个字段又分别指向某个类型(Type)。这很像Java、C#中的类(Class)。GraphQL的Type简单可以分为两种,一种叫做Scalar Type(标量类型),另一种叫做Object Type(对象类型)。

那么就分别来介绍下两种类型。

标量类型(Scalar Type)

标量是GraphQL类型系统中最小的颗粒。类似于Java、C#中的基本类型。

其中内建标量主要有:

StringIntFloatBooleanEnumID

Scalar Type

上面的类型仅仅是GraphQL默认内置的类型,当然,为了保证最大的灵活性,GraphQL还可以很灵活的自行创建标量类型。

对象类型(Object Type)

仅有标量类型是不能满足复杂抽象数据模型的需要,这时候我们可以使用对象类型。

通过对象模型来构建GraphQL中关于一个数据模型的形状,同时还可以声明各个模型之间的内在关联(一对多、一对一或多对多)。

对象类型的定义可以参考下图:

对象模型引入关联关系

是不是很方便呢?我们可以像设计类图一样来设计GraphQL的对象模型。

类型修饰符(Type Modifier)

那么,类型系统仅仅只有类型定义是不够的,我们还需要对类型进行更广泛性的描述。

类型修饰符就是用来修饰类型,以达到额外的数据类型要求控制。

比如:

列表:[Type]非空:Type!列表非空:[Type]!非空列表,列表内容类型非空:[Type!]!

在描述数据模型(模式Schema)时,就可以对字段施加限制条件。

例如定义了一个名为User的对象类型,并对其字段进行定义和施加限制条件:

User字段控制

那么,返回数据时,像下面这种情况就是不允许的:

错误的表示

Graphql会根据Schema Type来自动返回正确的数据:

正确的表示

其他类型

除了上面的,Graphql还有一些其他类型来更好的引入面向对象的设计思想:

接口类型(Interfaces):其他对象类型实现接口必须包含接口所有的字段,并具有相同的类型修饰符,才算实现接口。

比如定义了一个接口类型:

那么就可以实现该接口:

联合类型(Union Types):联合类型和接口十分相似,但是它并不指定类型之间的任何共同字段。几个对象类型共用一个联合类型。
输入类型(Input Types):更新数据时有用,与常规对象只有关键字修饰不一样,常规对象时 type 修饰,输入类型是 input 修饰。

比如定义了一个输入类型:

前端发送变更请求时就可以使用(通过参数来指定输入的类型):

所以,这样面向对象的设计方式,真的对后端开发人员特别友好!而且前端MVVM框架流行以来,面向对象的设计思想也越来越流行,前端使用Graphql也会得心应手。

Part 3 GraphQL技术接入架构

Graphql 技术接入架构

那么,该怎么设计来接入我们现有的系统中呢?

将Graphql服务直连数据库的方式:最简洁的配置,直接操作数据库能减少中间环节的性能消耗。

直连数据库的接入

集成现有服务的GraphQL层:这种配置适合于旧服务的改造,尤其是在涉及第三方服务时、依然可以通过原有接口进行交互。

集成现有服务的GraphQL层

直连数据库和集成服务的混合模式:前两种方式的混合。

混合接入方式

可以说是非常灵活了!你都不用担心会给你带来任何的麻烦。

服务端实现

在服务端, GraphQL 服务器可用任何可构建 Web 服务器的语言实现。有以下语言的实现供参考:

C# / .NETClojureElixirErlangGoGroovyJavaJavaScriptJuliaKotlinPerlPHPPythonRRubyRustScalaSwift

种类繁多,几乎流行的语言都有支持。

客户端实现

在客户端,Graphql Client目前有下面的语言支持:

C# / .NETClojurescriptElmFlutterGoJava / AndroidJavaScriptJuliaSwift / Objective-C iOSPythonR

覆盖了众多客户端设计语言,而其他语言的支持也在推进中。

Graphql的一些服务

整理了下目前比较流行的服务框架:

Apollo Engine:一个用于监视 GraphQL 后端的性能和使用的服务。Graphcool (github): 一个 BaaS(后端即服务),它为你的应用程序提供了一个 GraphQL 后端,且具有用于管理数据库和存储数据的强大的 web ui。Tipe (github): 一个 SaaS(软件即服务)内容管理系统,允许你使用强大的编辑工具创建你 的内容,并通过 GraphQL 或 REST API 从任何地方访问它。AWS AppSync:完全托管的 GraphQL 服务,包含实时订阅、离线编程和同步、企业级安全特性以及细粒度的授权控制。Hasura:一个 BaaS(后端即服务),允许你在 Postgres 上创建数据表、定义权限并使用 GraphQL 接口查询和操作。

Graphql的一些工具

graphiql (npm): 一个交互式的运行于浏览器中的 GraphQL IDE。Graphql Language Service: 一个用于构建 IDE 的 GraphQL 语言服务(诊断、自动完成等) 的接口。quicktype (github): 在 TypeScript、Swift、golang、C#、C++ 等语言中为 GraphQL 查 询生成类型。

想要获取更多关于Graphql的一些框架、工具,可以去awesome-graphql:一个神奇的社区,维护一系列库、资源等,地址是

https://github.com/chentsulin/awesome-graphql。

想要学习更多Graphql的知识,可以去GraphQL.cn。

好了,一个入门级的Graphql介绍篇就这样完结了(尽管篇幅也很大哈哈)。

不知道你懂得它的原理和优点了吗?你对它感兴趣吗?看完这篇介绍,有没有想动手尝试一下呢?你会在你下一个项目中引入Graphql并使用它吗?你对Graphql还有什么疑惑的问题呢?

我为什么要放弃RESTful,选择拥抱GraphQL 环球热点评

2023-02-14 13:15:35

天天新消息丨医院送来的感谢信

2023-02-14 12:23:41

焦点速看:运动高新“羽”你有约

2023-02-14 11:23:52

麓怎么读的_麓怎么读

2023-02-14 09:54:54

电魂网络02月13日获沪股通增持37.87万股-天天速看料

2023-02-14 07:45:45

全球看点:西班牙民歌 夜的回忆_西班牙 夜的回忆

2023-02-14 05:30:47

北京的春天

2023-02-14 03:54:00

【全球新要闻】麻豆是什么意思网络用语

2023-02-14 01:38:40

送男朋友什么礼物

2023-02-13 23:12:49

乐享是什么意思-天天热推荐

2023-02-13 21:48:47

讯息:奉贤区首个农民相对集中居住新建安置房奉馨苑四期选房

2023-02-13 20:57:46

老人礼物送什么实用-今日热门

2023-02-13 18:32:39

世界快报:汽车无偿赠与合同范本如何书写?

2023-02-13 16:41:04

苏北七市一模2023试卷答案全科汇总_更新中

2023-02-13 14:52:22

全球通讯!这些眼霜超温和,专为熟龄眼周肌肤设计,令眼部肌肤平滑年轻!

2023-02-13 13:08:15

OATLY燕麦奶:植物基新赛道开辟者如何布局当下和未来? 每日热讯

2023-02-13 11:10:40

冲上热搜!知名品牌道歉但不改?网友怒了-焦点报道

2023-02-13 09:37:04

二十四小时快报:雄安新区:目标到2025年,楼宇经济成为驱动新区经济发展的重要载体-世界看热讯

2023-02-13 09:07:46

剑三扶摇升级方法_剑三扶摇升级 世界新消息

2023-02-12 12:02:08

快消息!女婿送什么礼物比较好

2023-02-12 09:06:06

孙艺珍个人资料_说一说孙艺珍个人资料的简介

2023-02-12 05:54:15

樱花校园少女模拟好玩吗 樱花校园少女模拟玩法简介_新动态

2023-02-12 00:57:34

【砺剑行动】严打违法犯罪 维护群众利益 上海杨浦公安在行动-环球消息

2023-02-11 21:19:40

出行注意!环岛干道新增出入匝道明起施工-全球即时

2023-02-11 18:06:03

【全球快播报】北京延庆区与中国农业发展银行签署战略合作框架协议

2023-02-11 15:15:38

最新:拼多多勋章墙在哪里找

2023-02-11 11:59:36

喝酒后呕吐怎么办_喝酒后一直呕吐怎么办

2023-02-11 08:59:40

全球头条:2388元!新款大疆Mini 2 SE在拍摄视频时可以飞行长达31分钟

2023-02-11 05:56:16

世界热议:蒂芙尼手表怎么样呢 蒂芙尼手表是什么档次的呢

2023-02-11 02:02:53

全球微动态丨骑马与砍杀战团如何大量招兵_骑马与砍杀 战团

2023-02-11 01:53:00

中南钢构_关于中南钢构的介绍

2023-02-10 22:47:41

60岁生日送什么礼合适男

2023-02-10 22:12:20

【新要闻】个人养老保险怎么查询?养老保险有没有滞纳金

2023-02-10 20:02:59

公司软文代写-天天热讯

2023-02-10 19:19:12

盖厚被子有助于睡眠?了解被子重量是如何影响睡眠的!

2023-02-10 17:55:18

世界通讯!情人节送女朋友什么礼物最有惊喜

2023-02-10 16:32:51

新车报讯:或2023年亮相全新福特RangerRaptor路试谍照曝光

2023-02-10 15:04:49

天天看热讯:腾讯QQ崩溃问题已修复,官方:服务器挤爆了

2023-02-10 12:50:02

大连富豪王义政:卖消防器材起家,身家200亿,为何神秘失联

2023-02-10 11:04:24

速看:工行积分如何兑换

2023-02-10 10:18:09

2023年中国快递业务量突破100亿件,仅用39天

2023-02-10 09:58:15

神舟十五号航天员圆满完成第一次出舱!空间站建成后首次

2023-02-10 07:46:43

神童张满意_关于神童张满意的介绍 速看

2023-02-10 06:03:50

西安市雁塔区人民法院“三审合一”保护知识产权_天天最新

2023-02-10 04:41:46

环球速递!十大热门漆皮包包排行榜_精选10款时尚百搭漆皮女包推荐

2023-02-10 01:52:31

5万元一套的海景房,到底住了多少人?

2023-02-10 00:48:10

mcm韩国官网海淘攻略_mcm韩国官网 焦点关注

2023-02-09 22:38:42

【天天播资讯】又找到一对“神仙母女”,春日装扮又飒又靓,50岁照样美成一枝花

2023-02-09 21:42:12

【除隐患 铸平安】戴头盔只为隐藏身份 堪称现代版“掩耳盗铃”

2023-02-09 19:00:52

lol搞笑id游戏名字大全 世界微速讯

2023-02-09 18:27:39

美提议两国防长通话,国防部:不接受

2023-02-09 17:43:05

柒个我演员表艾伦_柒个我演员表

2023-02-09 15:43:05

日照香炉生紫烟下一句 作者是谁|快看点

2023-02-09 14:27:16

世界热讯:Android TV 13 已准备好迎接黄金时段并进行了大量幕后更改

2023-02-09 13:42:17

中国驻叙利亚大使馆再次提醒在叙中国公民加强安全防范-焦点速递

2023-02-09 11:14:11

全球即时:周韵个人资料简介_周韵

2023-02-09 10:37:13

练习题歌词 江映蓉习题完整歌词

2023-02-09 10:32:56

靠一副眼镜实现颜值气质飞升,她的关键变美点原来是这些

2023-02-09 08:51:46

电话0731是哪里的区号_0731是哪里的区号 即时

2023-02-09 07:09:06

周生生金条金价(内地)多少钱一克?11月11日周生生金条金价(内地)查询

2023-02-09 06:26:04

天天快资讯丨策划总监的职责是什么呢英语_策划总监的职责是什么呢

2023-02-09 04:11:47

无土栽培的方式有哪些

2023-02-09 02:35:07

饮鸩止渴小说_饮鸠止渴|要闻速递

2023-02-09 01:24:26

皮肤变白最快的方法_变白最快的方法-全球今日讯

2023-02-08 22:49:08

鸡蛋布丁的做法步骤|天天热闻

2023-02-08 22:32:23

最新:见山见海见自己

2023-02-08 20:06:10

俞敏洪最经典的演讲

2023-02-08 19:02:13

今年为啥没有大年三十 没有大年三十的原因是什么_讯息

2023-02-08 18:42:16

佛系青年是什么意思

2023-02-08 17:00:35

风衣配什么裤子好看?建议搭这4款“下装”,时髦好看还不易撞衫 实时

2023-02-08 15:48:54

日常生活健康小常识大全

2023-02-08 15:05:44

风云三号04批卫星启动研制,预计今年将发射2颗卫星 天天动态

2023-02-08 14:03:47

曼晚:曼城部分人士早想借此消除指责,希望在斗争后迎来光明

2023-02-08 12:18:02

全球观热点:个人先进事迹材料汇报

2023-02-08 11:13:42

世界热推荐:乡愁贵州景区门票预约流程(一码游贵州)

2023-02-08 10:05:17

小女孩开学首日高烧抽搐不止,骑警5分钟送医|天天最新

2023-02-08 08:59:59

三通一达快递员工资待遇_三通一达快递 天天简讯

2023-02-08 07:36:12

消息!服务人员仪容仪表的礼仪规范

2023-02-08 06:31:58

第一个国家宪法日是哪一天_国家宪法日是哪一天 环球快播报

2023-02-08 04:41:50

讯息:王建华当选赤峰黄金董事长

2023-02-08 03:55:21

一般是定向就业还是非定向就业_ldquo 定向就业 rdquo 和 ldquo 非定向就业 rdquo 的区别-天天观察

2023-02-08 01:39:29

大巴车一般是多少座位

2023-02-07 23:48:53

英语专业考研学校排名前50_英语专业考研学校排名 全球热文

2023-02-07 21:49:21

全球报道:微信正在灰度测试新功能,与小程序有关

2023-02-07 20:16:50

【新视野】橘色是什么和什么颜色调成的

2023-02-07 20:04:21

每日速读!呈报的意思和拼音_呈报的意思

2023-02-07 19:14:26

仙都风景名胜区 天天信息

2023-02-07 17:01:29

世界速读:河北有名的明星_河北的明星

2023-02-07 15:59:19

滚动:2017年是什么年庚

2023-02-07 14:15:45

焦点快看:什么是中国化时代化的马克思主义_什么是中国画

2023-02-07 13:58:27

环球报道:螃蟹怎么吃好_海蟹怎么吃

2023-02-07 11:58:33

2023年护士执业资格考试网上缴费提醒

2023-02-07 10:13:51

最资讯丨怡和嘉业:截至目前,公司生产经营处于正常状态

2023-02-07 09:11:07

前沿热点:疯狂游乐场网页版登录不了_疯狂游乐场网页版登录

2023-02-07 07:41:18

天天观热点:万力控股有限公司

2023-02-07 04:17:05

三位一体的商务智能_BI——管理、技术与应用

2023-02-07 01:12:51

焦点日报:有没有第二部电视剧《把皇帝变回现代》

2023-02-06 22:49:57

提前还房贷已经排到7月!记者调查:预约还款普遍得等1个月以上

2023-02-06 19:49:31

天天快看:肥东:岱河路东延项目即将通车!

2023-02-06 17:52:18

焦点信息:上海市金山区住房保障和房屋管理局

2023-02-06 17:35:40

报道:2023上海开学第一课几点钟结束

2023-02-06 15:11:53

上海晶珏新材料科技有限公司

2023-02-06 13:51:45

旋转编码器工作原理主要用途

2023-02-06 11:45:31

初等教育学院 世界新消息

2023-02-06 11:34:46

喜力hx8与超凡喜力到底哪个好_hx8和超凡喜力区别 环球快资讯

2023-02-06 08:13:17

南麂岛船票网上订票官网_鳌江到南麂岛船票

2023-02-06 06:37:56

每日聚焦:前FPX选手暗讽Faker,LSB离谱操作火上浇油,Faker迎来雪耻机会

2023-02-06 02:59:46

图说一周遂昌

2023-02-06 00:10:15

11岁的男孩子怎么教育_11岁的孩子怎么教育 讯息

2023-02-05 21:42:59

邓超的老婆

2023-02-05 19:41:09

哈姆:关键时刻球员们需打更好 这样就能不那么依赖詹姆斯了

2023-02-05 16:03:35

元宵佳节前夕,杨浦这里真“闹猛”

2023-02-05 14:53:36

天天热资讯!深圳发布金融科技专项发展规划_20232025年

2023-02-05 12:42:23

三角风

2023-02-05 11:00:38

今日电影票一般多少钱一张人民币_电影票一般多少钱一张

2023-02-05 07:42:26

环球播报:天谕手游流云歌在哪获取

2023-02-05 05:10:05

642场,莫耶斯超越老雷成为英超执教场次第三多教练

2023-02-05 02:19:56

速递!尚帝影视文化传媒怎么样_尚帝网

2023-02-04 23:57:12

中国婉约词协会 世界看热讯

2023-02-04 22:07:25

热资讯!中国篮球之神

2023-02-04 20:09:50

清远02月04日13时疫情有多少例 _昨日新增1例本土确诊病例、0例本土无症状感染者|天天快讯

2023-02-04 16:40:33

天天报道:杭州33岁年轻干部落马:为还赌债受贿300万,被组织约谈前还在下注

2023-02-04 14:52:48

中外物理学精品书系:核反应堆动力学基础第二版-世界头条

2023-02-04 13:17:37

美国FTC正准备对亚马逊提起可能的反垄断诉讼 世界快讯

2023-02-04 10:10:46

中船系异动拉升,中船汉光涨超12%|今亮点

2023-02-04 09:04:08

中粮长城葡萄酒 新疆有限公司

2023-02-04 06:53:48

指纹算法

2023-02-04 04:24:33

焦点滚动:丹阳街道丝瓜井社区学田工爱心志愿服务队

2023-02-04 01:43:02

*ST必康拟投数十亿增资并设立新能源孙公司 深交所火速发函:资金从哪儿来? 全球热讯

2023-02-03 22:04:49

【环球速看料】和田玉怎样鉴别_如何鉴定和田玉

2023-02-03 21:02:12

胜龙

2023-02-03 20:18:16

30岁中国女子在日本买70万平小岛成岛主:本人回应厉害了 家里做地产和金融

2023-02-03 17:46:40

花叶秋海棠无性系1号

2023-02-03 15:40:37

正能量句子8个字(合集125句)

2023-02-03 14:47:19

新春走基层丨桂阳:古郡城里逛庙会 汉风古韵闹元宵

2023-02-03 12:47:21

胡锡进:美将在菲律宾增设4个军事基地,中国怎么办? 当前滚动

2023-02-03 10:59:59

芮成钢与老虎夫人_芮成钢夫人-天天热讯

2023-02-03 09:05:47

四时田园杂兴其二十五的诗意视频_四时田园杂兴其二十五的诗意 观热点

2023-02-03 06:53:09

黄鹤楼的作者是谁 焦点热文

2023-02-03 03:17:04

官方回应江西铅山胡某宇事件四大疑问 世界播报

2023-02-02 23:39:48

2022张子枫微信红包封面如何获取_2022张子枫微信红包封面获取方法_世界时讯

2023-02-02 20:55:07

北京抽检元宵汤圆全部合格 提示消费者选购时查看标签

2023-02-02 18:52:42

至少能用6年?三星Galaxy S23将持续接收软件更新到2028年

2023-02-02 17:03:04

今日关注:俄罗斯国徽的含义_俄罗斯国徽

2023-02-02 14:49:35

林更新王思聪是亲戚吗_到底是不是亲戚

2023-02-02 11:57:12

杭州出台22条政策大力发展总部经济-看点

2023-02-02 10:05:27

这个区将改造28个老旧小区,还将新建一栋停车综合体 热点聚焦

2023-02-02 08:08:01

叶勇2022年四季度表现,万家双引擎灵活配置混合基金季度跌幅18.35%

2023-02-02 04:48:43

手机教程:屏蔽垃圾电话短信 通官方解决方法无需安装任何App 世界热点

2023-02-01 23:22:03

天天百事通!手机APP教程篇:抖音字体大小设置方法

2023-02-01 19:57:31

热点在线丨激励朋友圈正能量的句子(共72句)

2023-02-01 17:51:49

CuSn12-C-GZ铜合金_天天即时看

2023-02-01 15:56:00

高校对校外人员开放了?专家:应逐步适度恢复对外开放|今日报

2023-02-01 13:57:41

生物医学工程就业前景知乎 生物医学工程就业前景 全球关注

2023-02-01 10:57:32

世界百事通!醉驾150毫升是以什么标准处罚的?

2023-02-01 08:43:55

长征中的故事精选12篇_红军长征的故事50字

2023-02-01 03:45:21

武汉市蔡甸区“三下乡”活动为群众送上惠民“大餐” 今日热议

2023-01-31 21:53:18

【高清组图】暖阳和煦 漫游双龙镇

2023-01-31 18:21:06

世界关注:长沙望城再迎招商“开门红” 希望之城助力企业梦想启航

2023-01-31 15:40:40

监管放大招!开年以来超1500家私募被注销 已达上年7成

2023-01-31 12:48:32

天天新资讯:智慧停车板块1月30日涨0.82%,赛为智能领涨,主力资金净流出8902.42万元

2023-01-31 10:08:58

快资讯:汉阴河湖长制工作成效明显

2023-01-31 07:38:03

虎与龙-关于虎与龙部分内容简述

2023-01-30 21:44:28

日本这种自动贩售机被怒批:“令人发指”

2023-01-30 18:18:47

深圳机场:预计2022年度净利润亏损约10.76亿元~11.76亿元

2023-01-30 15:54:36

信息:中天金融预亏上百亿,面临退市风险!交易所关注函来了

2023-01-30 12:49:07

世界今头条!江西永新:乐享假日 欢度春节

2023-01-30 09:58:20

howlong和howsoon的用法和区别_howlong和howsoon的用法和区别?_环球热文

2023-01-30 07:03:03

温州服装批发市场_关于温州服装批发市场的基本详情介绍

2023-01-29 20:49:58

泛海控股:延期支付“20泛控01”债券5.732亿元本金及最后一期利息

2023-01-29 15:50:42

“凌晨2点,发完最后一条朋友圈,他去世了”:人到中年,最值钱的不是车子房子,而是……-环球今日讯

2023-01-29 12:09:25

血亏61万!Uzi所持股权被冻 网友:出个水银不就解了?|当前信息

2023-01-29 08:52:07

怀孕吃什么水果好对胎儿好_怀孕吃什么水果好:焦点资讯

2023-01-29 00:00:52

重磅!春节突发大事件 时快讯

2023-01-28 18:09:05

山东12部门联合发文 为黄河生态治理明确时间表、路线图:每日观察

2023-01-28 14:49:06

哈哈哈哈!名场面来了!_焦点

2023-01-28 11:06:07

热推荐:北京榜样|敖翔:寒风中守护市民平安过节

2023-01-28 06:42:34

瑞穗银行:维持Sherwin-Williams(SHW.US)买入评级:观热点

2023-01-27 20:34:28

久别心情的句子(共86句)

2023-01-27 14:47:56

热点在线丨狗狗走丢一个月回家疯狂撞门:为啥土狗能找到回家的路 宠物狗却不能?

2023-01-27 08:44:32

退役曾经的世界第一!刘雨辰和欧轩逸挺进8强,让魔王主场一片寂静!

2023-01-26 21:54:24

小知识,兔子的上门牙其实有4颗

2023-01-26 15:50:46

六部春节档电影豆瓣开分,1部不及格,第一实至名归!_世界观天下

2023-01-26 09:54:03

《满江红》偷票房反超《流浪地球2》?片方:我要维权_报资讯

2023-01-25 23:47:43

最近多发!一觉醒来,皮肤莫名出现红斑、水疱……

2023-01-25 16:09:01

新手小红书浏览量100多正常吗?新手浏览量是多少

2023-01-25 10:02:15

沉默是金,中国足协面对流言不辟谣,反赌扫黑下已失公信力

2023-01-25 00:02:47

四川省首次实现13条主要江河年度水资源调度计划全覆盖

2023-01-24 17:10:04

每日短讯:cfa考试的报名需要多少费用

2023-01-24 10:51:37

寒潮来袭 各地多措并举加强春节保供保暖|天天日报

2023-01-24 02:01:34

阵地建设包括哪两种建设-阵地建设包括哪些-全球速读

2023-01-23 18:00:39

顾涌指的是什么_顾涌是什么意思?

2023-01-23 11:55:18

每日热闻!《流浪地球2》X《明日之后》联动版本上线,恭喜您成为预备宇航员

2023-01-23 03:58:13

LOL重做最成功的五个英雄,索拉卡好上手,泽拉斯丢棺材做回自己_天天快资讯

2023-01-22 18:53:48

2023春节档总票房破10亿 总人次超1830万人

2023-01-22 12:38:17

急诊室的大年夜:医护争分夺秒吃饭是什么情况

2023-01-22 03:47:13

快报:玉兰饼怎么加热好吃_玉兰饼

2023-01-21 17:51:30

全球速看:双坎贝尔镇单桶!祥瑞系列番外篇比翼鸟威士忌套装上市!

2023-01-21 11:49:21

环球聚焦:外交部回应新任驻美大使人选问题详细内容

2023-01-21 05:57:44

环球快资讯:西南证券给予招商南油买入评级 多因素下运价承压 禁令生效在即业绩可期 目标价格为7.2元

2023-01-20 20:58:36