RESTful&JSON
# RESTful
REST 指的是一组架构约束条件和原则
- 满足这些约束条件和原则的应用程序或设计就是 RESTful
Web 应用程序最重要的 REST 原则是
- 客户端和服务器之间的交互在请求之间是无状态的
- 从客户端到服务器的每个请求都必须包含理解请求所必需的信息
- 如果服务器在请求之间的任何时间点重启,客户端不会得到通知
- 无状态请求可以由任何可用服务器回答,这十分适合云计算之类的环境,客户端可以缓存数据以改进性能
在服务器端,应用程序状态和功能可以分为各种资源。资源是一个有趣的概念实体,它向客户端公开
- 资源的例子有:应用程序对象、数据库记录、算法等等。每个资源都使用 URI(Universal Resource Identifier) 得到一个唯一的地址
- 所有资源都共享统一的接口,以便在客户端和服务器之间传输状态
- 使用的是标准的 HTTP 方法,比如 GET、 PUT、 POST 和DELETE,还可能包括 HEAD 和 OPTIONS
在 REST 样式的 Web 服务中,每个资源都有一个地址。资源本身都是方法调用的目标,方法列表对所有资源都是一样的。简单的理解就是,如果想要访问互联网上的资源,就必须向资源所在的服务器发出请求,请求体中必须包含资源的网络路径, 以及对资源进行的操作(增删改查)
REST 样式的 Web 服务若有返回结果,大多数以JSON字符串形式返回
# HTTP中请求方法类型
HTTP的标准方法,其中对于幂等性的定义是指,对资源相应的重复操作后,操作得到的结果以及产生的影响是不是一致的
GET
- 请求资源
- 具有幂等性
DELETE
- 删除资源
- 具有幂等性
PUT
修改资源
具有幂等性
POST
- 新增资源
- 不具有幂等性
# JSON
用 JSON 作为文档序列化的格式,比如一条用户信息
{
"name" : "John",
"sex" : "Male",
"age" : 25,
"birthDate": "1990/05/01",
"about" : "I love to go rock climbing",
"interests": [ "sports", "music" ]
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
Last Updated: 2022/02/05, 15:58:51