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,可选):服务器可以提供一些代码或脚本,并在客户的运行环境中执行。

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

参考

相关推荐
To_OC2 小时前
写了三遍 Todo List,我终于搞懂了 React 父子组件到底怎么通信
前端·javascript·react.js
勇往直前plus3 小时前
Vue3(篇一) 核心概念——响应式模板语法与组件基础
前端·javascript·vue.js
咩咩啃树皮3 小时前
第43篇:Vue3计算属性(computed)完全精讲——缓存机制、依赖计算、业务最优解
前端·vue.js·缓存
小Ti客栈5 小时前
Spring Boot 集成 Springdoc-OpenAPI 与 Knife4j实现接口文档与可视化调试
java·spring boot·后端
徐小夕5 小时前
花了一周,3亿tokens,我开源了一款 Word 文档智能审查平台,文稿自动质检+可视化分析,告别低效人工审核
前端·算法·github
Ai拆代码的曹操6 小时前
Spring 事务 REQUIRES_NEW 嵌套调用:连接池翻倍的秘密
java·后端·spring
动恰客流统计6 小时前
ReID边缘计算视觉统计:餐饮店客流增长的数字化破局路径
java·大数据·运维·人工智能
kyriewen7 小时前
别再乱用useEffect了——你写的10个里有8个不该存在
前端·javascript·react.js
Ivanqhz7 小时前
Rust &‘static str浅析
java·前端·javascript·rust
IT_陈寒7 小时前
SpringBoot这个分页坑,我踩了三天才爬出来
前端·人工智能·后端