REST 与 RESTful API

这篇具有很好参考价值的文章主要介绍了REST 与 RESTful API。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

REST

REST是什么

REST是万维网软件架构风格

REST是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义JSON格式定义

REST适用于移动互联网厂商作为业务接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。

REST介绍

REST:Representational State Transfer

  • Representational:数据表现形式
  • State:当前状态或者数据
  • Transfer:数据传输

更多精彩内容,请微信搜索“前端爱好者戳我 查看

REST六个限制

客户端-服务端(Client/Server)

  • 关注点分离
  • 服务端专注于数据存储,提升了 简单性(让服务端代码更加简单)
  • 前端专注于用户界面,提升了 可移植性(方便移植到其他项目)

无状态(Stateless)

  • 所有用户会话信息都保存在客户端
  • 每次请求必须包含所有信息
  • 不能依赖上下文信息
  • 服务端不用保存会话信息
  • 简单性、可靠性、可见性

缓存(Cache)

  • 所有服务端响应都要被标为可缓存或不可缓存
  • 减少前后端交互,提升性能

统一接口(Uniform Interface)

  • 接口设计尽可能统一通用
  • 接口实现解耦,是前后端独立开发

分层系统(Layered System)

  • 每层只知道相邻的一层
  • 客户端不知道是和代理还是真实服务器通信
  • 其他层:安全层、负载均衡、缓存层

按需代码(Code-On-Demand)

  • 客户端可以下载运行服务端传来的代码
  • 通过减少一些功能,简化客户端

统一接口的限制

统一接口的限制是之前介绍的REST6个限制中"统一接口"的子限制,就是为了告诉我们REST风格的接口应该设计成什么样。

资源的标识

资源是任何可以命名的事务

  • 每个资源可以通过URI被唯一标识

    • https://api.github.com/users
    • https://api.github.com/users/123

通过表述来操作资源

表述就是Representation

  • 客户端不能直接操作服务端资源
  • 客户端应该通过表述来操作资源 – JSON

自描述信息

每个消息必须提供足够的信息让接受者理解

  • 媒体类型(application/json)
  • HTTP方法:GET、POST
  • 是否缓存:Cache-Control

超媒体作为应用状态引擎

  • 超媒体:带文字的链接
  • 应用状态:一个网页
  • 引擎:驱动、跳转

点击链接跳转到另一个网页

RESTful API

RESTful API就是REST风格的API,即rest是一种架构风格,跟编程语言无关,跟平台无关,采用HTTP做传输协议。

RESTful API简介

RESTful API具体什么样子?

  • 基本的URI,如 https://api.github.com/users
  • 标准HTTP方法,如 GET、POST、PUT、DELETE
  • 传输的数据媒体类型,如 JSON、XML

实例

  • GET /users 获取user列表
  • GET /users/12 查看某个具体的user
  • PUT /users/12 更新user 12
  • DELETE /users/12 删除user 12

RESTful API设计最佳实践

请求设计规范

  • URI使用名词,尽量使用复数,如 /users
  • URI使用嵌套表示关联关系,如 /users/12/repos/5
  • 使用正确的HTTP方法,如 GET/POST/PUT
  • 不符合CRUD的情况:POST/action/子资源

响应设计规范

相应:接口的返回值文章来源地址https://www.toymoban.com/news/detail-457282.html

  • 查询
  • 分页
  • 字段过滤
  • 状态码
  • 错误处理

安全规范

  • HTTPS
  • 鉴权
  • 限流

开发者友好

  • 文档
  • 超媒体

到了这里,关于REST 与 RESTful API的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Rest和Http什么关系?

    REST 定义了一组体系架构原则,您可以根据这些,包括使用不同语言编写的客户端如何通过 HTTP 处理和传输资源状态。 REST只是一种风格,不是一种标准 REST是以资源为中心的 用不同的 HTTP 请求方法来处理对资源的 CRUD(创建、读取、更新和删除)操作: 若要在服务器上创建资

    2024年02月10日
    浏览(37)
  • 什么是RESTful API

    RESTful API是利用HTTP请求访问或使用数据的应用程序接口(API)的体系结构样式。这些数据可用于GET,PUT,POST和DELETE数据类型,这些数据类型指的是与资源相关的操作读取、更新、创建和删除。 网站的API是允许两个软件程序相互通信的代码。API详细说明了开发人员编写从操作

    2024年02月16日
    浏览(39)
  • RESTful 风格是指什么

    RESTful( Representational State Transfer )是一种基于 HTTP 协议的软件架构风格,用于设计网络应用程序的接口。它的设计理念是利用 HTTP 协议中的方法(如 GET、POST、PUT、DELETE 等)来对资源进行 CRUD ,使得客户端和服务器之间的通信变得简单、灵活和可扩展。 下面是 RESTful 风格的

    2024年02月21日
    浏览(43)
  • REST2SQL是什么?它有什么功能和特性?它值不值得我们去学习?我们该如何去学习呢?

    REST2SQL是一种将RESTful API转换为SQL查询的工具或技术。它可以将RESTful API中的请求转换为对数据库的SQL查询,以便从数据库中检索、更新或删除数据。 REST2SQL的工作原理是通过分析RESTful API的请求参数和路径,将其转换为相应的SQL查询语句。这样可以实现将RESTful API的请求直接映

    2024年01月18日
    浏览(67)
  • 什么是RESTful API,以及如何它使用构建 web 应用程序(InsCode AI 创作助手)

    RESTful API 是一种基于 REST(Representational State Transfer,表征状态转移) 架构风格的 API,它使用 HTTP 协议的方法(GET,POST,PUT,DELETE)来实现资源的创建、读取、更新和删除。通过这种方式,API 可以更加简单和灵活,使得不同编程语言之间的交互更加容易。 使用 RESTful API 构建

    2024年02月09日
    浏览(64)
  • 调用万维易源实现天气预测

    房庚晨,男,西安工程大学电子信息学院,22级研究生 研究方向:机器视觉与人工智能 电子邮件:1292475736@qq.com 王泽宇,男,西安工程大学电子信息学院,2022级研究生,张宏伟人工智能课题组 研究方向:机器视觉与人工智能 电子邮件:2717124491@qq.com 天气预测就是应用大气变

    2024年02月09日
    浏览(43)
  • 稳踞三大价值高地!昆仑万维角逐AIGC“新大陆”

    历史总是被前瞻者和实干家推动着加速前行。 15世纪,多艘探险船队从欧洲出发向着东方而去,开启群雄角逐的探索时代。他们在航行中不断发现新大陆,兴起无数的造富神话,也加速了全球贸易、信息等方面的交流,翻开一个全新世界的序章。 如今的互联网行业,也正在进

    2024年02月09日
    浏览(30)
  • 独立AIGC潮头 昆仑万维发布昆仑天工AIGC全系列算法与模型

        近日,国内领先的互联网出海平台企业昆仑万维正式发布了自己的全系列AIGC算法与模型——昆仑天工。     不同于其它公司的单一路线,昆仑万维在进军AIGC之际,直接是覆盖四大细分领域:AI图像、AI音乐、AI文本和AI编程。「昆仑天工」旗下模型包括天工巧绘SkyPai

    2024年02月11日
    浏览(42)
  • AI大模型日报#0424:全球首个AI基因编辑器、出门问问上市、微软开源Phi-3 Mini、昆仑万维年收49亿

    导读: 欢迎阅读《AI大模型日报》,内容基于Python爬虫和LLM自动生成。目前采用“文心一言”生成了每条资讯的摘要。 标题: 爱诗科技完成A2轮超亿元融资,蚂蚁集团领投 摘要:  爱诗科技完成A2轮超亿元融资,成为视频大模型领域融资规模最大的中国创业公司。其视频生成产

    2024年04月25日
    浏览(58)
  • 软件压力测试对软件产品起到什么作用?

    一、软件压力测试是什么? 软件压力测试是一种通过模拟正常使用环境中可能出现的大量用户和大数据量的情况,来评估软件系统在压力下的稳定性和性能表现的测试方法。在软件开发过程中,经常会遇到一些性能瓶颈和稳定性问题,而软件压力测试的作用就在于发现这些问

    2024年02月12日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包