当前位置: 首页 > news >正文

RESTful API介绍

RESTful API介绍

理解RESTful架构 - 阮一峰的网络日志 (ruanyifeng.com)

概念

REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”或“表现层状态转化”。

总结一下什么是RESTful架构:

  1. 每一个URI代表一种资源(一段文本、一张图片、一首歌曲、一种服务);

  2. 客户端和服务器之间,传递这种资源的某种表现层;

  3. 客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化"。

    • GET 用来获取资源

    • POST 用来新建资源

    • PUT 用来更新资源

    • DELETE 用来删除资源

只要API程序遵循了REST风格,那就可以称其为RESTful API。目前在前后端分离的架构中,前后端基本都是通过RESTful API来进行交互。

误区

RESTful架构有一些典型的设计误区。

**最常见的一种设计错误,就是URI包含动词。**因为"资源"表示一种实体,所以应该是名词,URI不应该有动词,动词应该放在HTTP协议中。

举例来说,某个URI是/posts/show/1,其中show是动词,这个URI就设计错了,正确的写法应该是/posts/1,然后用GET方法表示show。

如果某些动作是HTTP动词表示不了的,你就应该把动作做成一种资源。比如网上汇款,从账户1向账户2汇款500元,错误的URI是:

POST /accounts/1/transfer/500/to/2

正确的写法是把动词transfer改成名词transaction,资源不能是动词,但是可以是一种服务:

POST /transaction HTTP/1.1
  Host: 127.0.0.1
  
  from=1&to=2&amount=500.00

示例

例如,我们现在要编写一个管理书籍的系统,我们可以查询对一本书进行查询、创建、更新和删除等操作,我们在编写程序的时候就要设计客户端浏览器与我们Web服务端交互的方式和路径。按照经验我们通常会设计成如下模式:

请求方法URL含义
GET/book查询书籍信息
POST/create_book创建书籍记录
POST/update_book更新书籍信息
POST/delete_book删除书籍信息

同样的需求我们按照RESTful API设计如下:

请求方法URL含义
GET/book查询书籍信息
POST/book创建书籍记录
PUT/book更新书籍信息
DELETE/book删除书籍信息

http://www.mrgr.cn/news/17039.html

相关文章:

  • Linux C++ 开发6 - GDB调试入门指南
  • Vue2.0
  • 【精选】基于python的3D打印技术专利分析系统(全网独一无二,最新定制)
  • TCP流套接字编程
  • ASCII、GB2312、Unicode和UTF-8
  • 热力学温度
  • 【面试经验】京东-技术产品经理一面
  • 好用的宠物浮毛清理神器,希喂、IAM、范罗士宠物空气净化器大揭秘
  • c++11新特性-lambda表达式
  • 时序约束进阶二:set_max_time_borrow详解
  • 【网络安全】XSS之HttpOnly防护(附实战案例)
  • 华为云征文|下一代云服务器,Flexus X实例选购指导
  • (3) 插入排序
  • 个人笔记总结
  • minio最新源码编译(处理安全扫描中跨域访问、.js.map等不安全问题) 版本:RELEASE.2024-06-26T01-06-18Z
  • SOMEIP_ETS_076: Wrong_Method_ID
  • 随笔1:数学建模与数值计算
  • 报错记录3:imx6ull适配ov2640摄像头无法获取默认摄像头分辨率与格式参数
  • 深入探讨Java JSON解析与HTML标签清除:详解与实例
  • p2p、分布式,区块链笔记: Merkle-DAG和Merkle-Tree的区别与联系