REST API 与 RESTful API 区别和联系

一、首先理解一下什么是API:

API,应用程序接口,也可以叫应用程序界面,或者简称为应用接口。用来实现具体的功能比如说:上司让下属买杯咖啡,上司不管你去哪儿买的,花了多少钱,只管你买到了咖啡没有。这里面上司的指令相当于一个调用api路径,下属买到咖啡送到上司手上就是一个api实现的功能和方法。

二、REST与 RESTful

REST,就是一种应用接口的设计风格。RESTful 是 REST 的形容词形式,RESTful API 指的是 REST 风格的接口,URI是标识一个资源(比如一张图片),URL定位资源,用HTTP动词(GET,POST,PUT,DELETE)描述操作。一般 REST 与 RESTful 是一个意思,区别就是一个是名词,一个是形容词。RESTful 是典型的基于HTTP的协议。

支持 REST 接口,可以通过 HTTP + 具体的动作去处理他的应用上的一些资源(Resources)

一个应用支持 REST 接口,在另一个应用上可以使用这个应用提供的 REST 接口去做一些事情。比如你可以用阿里云的 OSS(对象存储) 服务提供的 REST 接口,去处理上传文件到 OSS 服务上。有时候这个 REST 接口是我们自己设计的,比如应用的后端服务提供 REST 接口,应用的前端,移动端可以使用后端服务提供的 REST 接口。

动作有几个类型,比如获取(GET),提交(POST),修改(PUT / PATCH),删除(DELETE)。比如你想得到一个课程列表资源,完成这项任务可以用 HTTP 的 GET 方法去请求应用提供的某个地址(接口 / API)。GET /api/v1/courses。我要删除掉 ID 号是 13 的课程资源,DELETE /api/v1/courses/13。

REST API 有什么特点

参考下面RESTFul API特点

RESTFul API 有什么特点

  • 基于"资源",数据也好、服务也好,在RESTFul设计里面一切都是资源。
  • 无状态。一次调用一般就会返回结果,不存在类似于“打开连接-访问数据-关闭连接”这种依赖于上一次调用的情况。
  • URL中通常不出现动词,只有名词
  • URL语义清晰、明确
  • 使用HTTP的GET、POST、DELETE、PUT来表示对于资源的增删改查
  • 使用JSON不使用XML

实践原则:

  • 使用HTTP动词表示增删改查资源, GET:查询,POST:新增,PUT:更新,DELETE:删除
  • 返回结果必须使用JSON
  • HTTP状态码,在REST中都有特定的意义:200,201,202,204,400,401,403,500。比如401表示用户身份认证失败,403表示你验证身份通过了,但这个资源你不能操作。

猜你喜欢

转载自blog.csdn.net/weixin_46304253/article/details/108539023