欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

RESTful

程序员文章站 2024-03-25 16:45:46
...

一、首先什么是RESTful

  • REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”*
  • REST从资源的角度类审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识,客户端应用通过URL来获取资源的表征,获得这些表征致使这些应用转变状态*
  • 所有的数据,不管是通过网络获取的还是操作数据库获得(增删改查)的数据,都是资源,将一切数据视为资源是REST区别与其他架构风格的最本质属性*
  • 对于REST这种面向资源的架构风格,有人提出一种全新的结构理念,即:面向资源架构ROA:Resource Oriented Architecture)*
  • 对互联网上的任意东西都可视为资源,他认为一个url就是一个资源 比如:http://www.xxx.com/get_user/

二、资源与URL

  • REST全称是表述性状态转移,那究竟指的是什么的表述? 其实指的就是资源。任何事物,只要有被引用到的必要,它就是一个资源。
  • 要让一个资源可以被识别,需要有个唯一标识,在Web中这个唯一标识就是URI(Uniform Resource Identifier)。
  • URI既可以看成是资源的地址,也可以看成是资源的名称。如果某些信息没有使用URI来表示,那它就不能算是一个资源, 只能算是资源的一些信息而已。URI的设计应该遵循可寻址性原则,具有自描述性,需要在形式上给人以直觉上的关联。

URI设计上的一些技巧:

  • 使用_或-来让URI可读性更好
  • 使用/来表示资源的层级关系
  • 使用?用来过滤资源
  • ,或;可以用来表示同级资源的关系

三、什么是API

API就是接口,提供的url。接口有两个用途:

  • 为别人提供服务
  • 前后端分离,一个写vue,一个写后端,他们之间都是通过ajax请求

四、RESTful API设计

  • 网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。

  • 因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"API First"的设计思想。RESTful API是目前比较成熟的一套互联网应用程序的API设计理论。
    简单的示例

  • 首先:http协议请求方式:GET、POST、DELETE、PUT、PATCH、OPTION、HEAD、TRACE

  • 之前URL的设计大多都是这种类型,不符合RESTful规范:

127.0.0.1:8000/books              //查
127.0.0.1:8000/books/add          //增
127.0.0.1:8000/books/change/1     //改
127.0.0.1:8000/books/delete/1     //删
  • 符合RESTful规范的URL设计:
GET请求查看数据:
127.0.0.1:8000/books 
返回所有数据列表 :[{}, {}, {}]

GET请求查看单条数据:
127.0.0.1:8000/books/1 
返回查看的单条数据{}

POST请求添加数据:
127.0.0.1:8000/books 
返回添加数据 :{}

PUT请求更新pk = 1的数据:
127.0.0.1:8000/books/1 
返回更新后的数据: {}

Delete请求删除pk = 1的数据:
127.0.0.1:8000/books/1 
返回空

详解总结