rest api,RPC好还是RESTful?
虽然我们公司最近在主推REST,但是我也不能说REST就一定比RPC好,只是各有特点,两者没有高下之分。
REST用很官方的定义就是:表现层状态转移(representational state transfer)。
简单一些说就是:URL定位资源,用方法(GET,POST,DELETE,DETC)描述操作。
REST是无状态的,请求之间没有持久的会话信息。
比如下图,tasks就是资源,我们可以通过GET /tasks 获取到所有的tasks。
RPC远程过程调用(remote procedure call)。
RPC的核心思想是把本地的方法映射到API,比如我本地有一个方法是getUser(),远程也可以通过某种协议来调用这个getUser()。这个协议可以是Http或者Socket,都可以。
(我这里只找到一张XML-RPC的图,意会一下)
REST VS RPCREST的主体是资源,而RPC更侧重于动作。
REST更偏向外部调用,RPC更偏向内部调用。在国内,一般更偏向于RPC,比如阿里出的dubbo;在国外,更倡导REST,比如spring cloud,是个纯REST的项目,不支持RPC。(当然,近几年REST在国内也开始火起来了)
REST其实是个效率很低的东西,特别是需要联合查询的时候;并且有些东西,也不好抽象成资源。
RPC只需要关心业务场景,但是如果业务理解不够,你可能不会理解这些API是做什么用的(优秀的RESTful API的设计,就算不懂业务,只要会一些英文,应该通过URL就能猜到每个API是做什么的)。
前端可能更喜欢REST,而后端估计更倾向于RPC。
希望我的回答可以帮助到你!
api是什么标准?
API标准--API是美国石油学会(AmericanPetroleumInstitute)的英文缩写。API建于1919年,是美国第一家国家级的商业协会,也是全世界范围内最早、最成功的制定标准的商会之一。
API的一项重要任务,就是负责石油和天然气工业用设备的标准化工作,以确保该工业界所用设备的安全、可靠和互换性。制定协调标准是API最早和最成功的项目之一,自1924年发布第1个标准开始,API现在已发布了500个标准。API是ANSI认可的标准制定机构,其标准制定遵循ANSI的协调和制定程序准则,API还与ASTM联合制定和出版标准,此外,API积极参加适合全球工业的ISO标准的制定工作,是ISO/TC 671SC9井口设备和管线阀门的秘书处。
web前端怎么调用api接口?
步骤如下所示:
1、首先需要确定第三方的接口的基本信息:地址、请求方式,参数、返回值,接口模式第三方的接口是restful风格的,采用get请求。
2、确定好接口的相关模式之后,编写http请求,用参数、请求模式构造请求。
3、最重要的构造http的请求,这里采用CloseableHttpClient,设置相关的header,采用HttpResponse接受用户的返回值。
4、在业务类中只需要封装相关的请求,把参数传入给接口中即可。
什么是API接口?
作为软件应用而言,很多资源和数据不一定就是由其自身提供的,某些功能还是需要调用第三方提供的服务,这其中就涉及到API接口的调用。
什么是API接口?API是指应用程序编程接口,我们通过API接口可以实现特定的功能,而不需要了解其内部实现细节。可以把API接口理解为是特定服务的一种封装,将服务封装起来提供给他人调用,这样一来很多功能不需要从新开发。
举个例子,我们想要知道一周天气如何,如果由自己来实现这个功能很难,因为天气数据只有气象部门才知道。那该如何知道天气信息呢?气象部分提供数据API给我们使用,我们只要输入地区就会知道该地区一周的天气情况,但我们并不需要了解这天气预报是如何实现的。
另外,不同系统和编程语言之间的数据通讯往往也采用API形式进行数据交接。
常见的API形式有哪些?上面我们说到了,API其实就是一类服务的封装。我们可以使用不同的编程语言编写API,开发习惯和编程语言的不同导致API风格也存在差异。常见的API有以下几种形式:
1、HTTP类型接口
基于HTTP协议提供的API,这类API常常以“网址”形式提供的,像现在主流的RESTful就属于这类接口。
2、RPC接口
RPC它是指远程过程调用,将一部分代码逻辑放在远程服务器上部署,然后在需要的地方调用即可(调用远程方法就像调用本地方法一样),本质上是Client/Server模式,而且支持多种协议和数据传输方式。
3、Web Service 接口
Web Service并不具象地指某种API,我们将以WEB形式提供的服务都称之为Web Service,像RESTful也属于Web Service。
以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!javarestful?
不多
restful api算是一种优良的API风格。
然后现在的大部分基于http的api都没有使用这种风格。
比如:阿里云的API
腾讯的API


还没有评论,来说两句吧...