2、RestAPI介绍
RestAPI简单介绍
REST的作用是将我们上面提到的查看(view),创建(create),编辑(edit)和删除(delete)直接映射到HTTP 中已实现的GET,POST,PUT和DELETE方法。
这四种方法是比较常用的,HTTP总共包含八种方法:
GET
POST
PUT
DELETE
OPTIONS
HEAD
TRACE
CONNECT
当我们在浏览器点点点的时候我们通常只用到了GET方法,当我们提交表单,例如注册用户的时候我们就用到了POST方法...
介绍到这里,我们重新将上面的四个接口改写成REST风格:
查看所有图书:
新增一本书:
POST http://demo.com/books
Data: name=shuxue
修改一本书:
PUT http://demo.com/books
Data:id=1,name=shuxue
删除一本书:
DELETE http://demo.com/books
Data:id=1
大家有没有发现,这样改动之后API变得统一了,我们只需要改变请求方式就可以完成相关的操作,这样大大简化了我们接口的理解难度,变得易于调用。
这就是REST风格的意义!
HTTP状态码
REST的另一重要部分就是为既定好请求的类型来响应正确的状态码。如果你对HTTP状态码陌生,以下是一个简易总结。当你请求HTTP时,服务器会响应一个状态码来判断你的请求是否成功,然后客户端应如何继续。以下是四种不同层次的状态码:
- 2xx = Success(成功)
- 3xx = Redirect(重定向)
- 4xx = User error(客户端错误)
- 5xx = Server error(服务器端错误)
我们常见的是200(请求成功)、404(未找到)、401(未授权)、500(服务器错误)...
API格式响应
上面介绍了REST API的写法,响应状态码,剩下就是请求的数据格式以及响应的数据格式。说的通俗点就是,我们用什么格式的参数去请求接口并且我们能得到什么格式的响应结果。
我这里只介绍一种用的最多的格式——JSON格式
目前json已经发展成了一种最常用的数据格式,由于其轻量、易读的优点。
所以我们经常会看到一个请求的header信息中有这样的参数:
Accept:application/json
这个参数的意思就是接收来自后端的json格式的信息。
我举个json响应的例子:
{
"code": 200,
"books": [{
"id": 1,
"name": "yuwen"
}, {
"id": 2,
"name": "shuxue"
}]
}
这样返回是不是一目了然,而且冗余信息很少!