加入收藏 | 设为首页 | 会员中心 | 我要投稿 广元站长网 (https://www.0839zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

数据科学家vs数据分析师

发布时间:2021-02-21 15:53:00 所属栏目:动态 来源:互联网
导读:为了使任何应用程序真正实现RESTful,必须遵循六个体系结构约束: 统一接口:意味着必须向Web应用程序中的API使用者提供API接口。 客户端服务器:客户端和服务器必须彼此独立,并且客户端应仅知道资源的URI。 无状态:服务器不得存储与客户端请求相关的任何

为了使任何应用程序真正实现RESTful,必须遵循六个体系结构约束:

  • 统一接口:意味着必须向Web应用程序中的API使用者提供API接口。
  • 客户端服务器:客户端和服务器必须彼此独立,并且客户端应仅知道资源的URI。
  • 无状态:服务器不得存储与客户端请求相关的任何内容。客户端负责维护应用程序的状态。
  • 可缓存的:资源必须可缓存。
  • 分层系统:体系结构必须是分层的,这意味着体系结构的组件可以位于多个服务器中。
  • 按需代码:客户端必须能够获取可执行代码作为响应。这是一个可选约束。

基于REST的Web服务被称为RESTful Web服务。在这些应用程序中,每个组件都是一种资源,可以使用HTTP标准方法通过公共接口访问这些资源。以下四种HTTP方法通常用于基于REST的体系结构中:

  • GET-对资源的只读访问。
  • POST —创建一个新资源。
  • DELETE—删除资源。
  • PUT-更新现有资源/创建新资源。

RESTFul风格API所有的操作都是一个动词,对应HTTP请求的一种类型。每一个操作都定义了对操作的资源的某种行为。这种抽象,特别适合相当多的Web应用,后台是一个数据库,每一个REST的端点对应了一张数据库的表,很自然的利用REST操作来实现表的增删查改。

当然RESTFul的风格也有它的不足:

  • 不是所有的应用操作都可以用资源的增删查改来对应,在实际的开发中经常会需要把一个操作映射为一个资源这种不伦不类的行为。
  • REST是同步服务,如果需要可能要引入回调机制。例如Webhook。
  • REST只提供客户端调用服务器的选项,不支持服务器端发起请求。

于是新的API类型会出现来解决这些问题。

4.GraphQL

GraphQL是一个开源的API数据查询和操作语言及实现为了实现上述操作的相应运行环境。2012年,GraphQL由Facebook内部开发,2015年公开公布。2018年11月7日,Facebook将GraphQL项目转移到新成立的GraphQL基金会 。

GraphQL规范概述了5条设计原则,这使其成为现代前端开发的精心设计的解决方案。让我们研究一下GraphQL的设计原则。

  • 查询是分层结构的,具有分层和嵌套字段,查询与响应数据一对一匹配。查询和响应的形状像树,可以查询每个项目的其他嵌套字段。
  • 该结构以产品为中心,着重于前端希望如何接收数据,并构建交付所需的运行时。这样一来,就可以向后端请求一个所需的所有数据,然后让服务器根据GraphQL的规范从不同的端点获取数据。
  • 它使用特定于应用程序的类型系统,使开发人员能够确保查询使用有效类型,并且在执行之前在语法上正确。
  • GraphQL查询是在客户端指定的,因此客户端确切知道它将以什么格式接收数据。
  • 带有GraphQL的服务器结构必须是自包含的,或者可由GraphQL本身查询。这将启用功能强大的开发人员工具,例如GraphiQL或GraphQL Playground,这两种工具都将使开发人员能够准确查看哪些查询和字段可供他们在服务器中使用。

像RESTful API一样,GraphQL API旨在处理HTTP请求并提供对这些请求的响应。但是,相似之处到此结束。在REST API建立在请求方法和端点之间的连接上的情况下,GraphQL API设计为仅使用一个始终通过POST请求查询的端点,通常使用

达到GraphQL端点后,客户端请求的负担将完全在请求主体内处理。该请求主体必须遵守GraphQL规范,并且API必须具有适当的服务器端逻辑来处理这些请求并提供适当的响应。与RESTful API相比,这提供了更流畅的客户端体验,后者可能要求客户端对多个数据进行多次请求,并在数据返回后进行操作。




(编辑:广元站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读