RESTful 接口

本文我们来谈谈,关于 REST 接口。

什么是 RESTful 接口

REST -> Respresentational State Transfer(表述性状态转移)

REST 将资源的状态以适合客户端的形式从服务端发送到客户端(或相反方向)。在 REST 中,通过 URL 进行资源定位,用 HTTP 动作(GET、POST、DELETE、PUT等)描述进行操作,完成功能。

RESTful 表示 REST 的形容词。

RESTful 接口是一种设计风格,用于构建网络应用程序的 API

RESTful 接口 中,每个资源都由唯一的 URL 标识,比使用 HTTP 方法(如GET、POST、PUT、DELETE)对资源进行操作。这些 HTTP 方法对应了服务端执行的操作,例如获取资源、创建资源、更新资源或删除资源。

RESTful 接口 还使用 HTTP 状态码来表示请求的处理结果,例如 200 表示成功、404 表示资源未找到等。RESTful 接口 还支持数据的不同表示格式常用的有 JSONXML

REST 特征

REST 有以下的特征:

  • 客户 - 服务端(client - server) :提供服务的服务器和使用服务的客户端需要被隔离对待
  • 无状态(stateless) :服务器端不存储客户的请求中的信息,客户的每一个请求必须包含服务器处理该请求所需的信息,所有的资源都可以通过 URI 定位,而且这个定位与其他资源无关,也不会因为其他资源的变化而变化。
  • 可缓存(cacheable):服务器必须让客户端知道请求是否可以被缓存。
  • 分层系统(layered System):服务器和客户端之间的通信必须被标准化。
  • 统一接口(uniform interface) :客户端和服务器之间的通信方法必须统一,RESTful 风格的数据元操作 CRUD(Create、Read、Update、Delete) 分别对应 HTTP 方法 - Post 创建新资源,Get 获取资源,Put 更新资源和 Delete 删除资源,这样就能统一数据操作的接口。
  • HTTP 状态码 :状态码在 REST 中都有特定的意义,比如 401 表示用户身份认证失败。
  • 支持按需代码(Code-On-Demand,可选):服务器可以提供一些代码或脚本,并在客户的运行环境中执行。

相关案例会在后面的文章中进行补充~

参考

相关推荐
凡人叶枫4 分钟前
C++中智能指针详解(Linux实战版)| 彻底解决内存泄漏,新手也能吃透
java·linux·c语言·开发语言·c++·嵌入式开发
Tony Bai4 分钟前
再见,丑陋的 container/heap!Go 泛型堆 heap/v2 提案解析
开发语言·后端·golang
发现一只大呆瓜12 分钟前
虚拟列表:支持“向上加载”的历史消息(Vue 3 & React 双版本)
前端·javascript·面试
JMchen12319 分钟前
Android后台服务与网络保活:WorkManager的实战应用
android·java·网络·kotlin·php·android-studio
css趣多多28 分钟前
ctx 上下文对象控制新增 / 编辑表单显示隐藏的逻辑
前端
阔皮大师35 分钟前
INote轻量文本编辑器
java·javascript·python·c#
_codemonster35 分钟前
Vue的三种使用方式对比
前端·javascript·vue.js
寻找奶酪的mouse36 分钟前
30岁技术人对职业和生活的思考
前端·后端·年终总结
小法师爱分享38 分钟前
StickyNotes,简单便签超实用
java·python
qq_2975746739 分钟前
Linux 服务器 Java 开发环境搭建保姆级教程
java·linux·服务器