restful是一种软件设计风格,一种思想,它不是一种标准规定,不使用restful风格API,我们也能正常开发工作,它只是一种大家比较提倡的设计规范。
我们平时设计接口时,常根据自己所做的功能为接口起名称,比如要写一个查询用户列表的接口,我们可能会起/queryUser的接口名,有的人会起selectUser、userList的接口名,我们把我们要做的动作通过单词来表达,可能同一个功能,不同的人能写出不同的接口,同时不同人理解不一样可能会增加沟通难度。如我们用restful风格设计API,那么查询用户列表接口就是/users的get接口,users表示用户资源,get表示获取资源。
请求方式 | API | 说明 |
---|---|---|
GET | /users | 查询用户列表 |
GET | /users/123 | 查看某个用户 |
POST | /users | 新建用户 |
PUT | /users/123 | 更新用户(全部字段) |
PATCH | /users/123 | 更新用户(部分字段) |
DELETE | /users/123 | 删除用户 |
通过接口对服务器进行请求,其实是对资源的一种操作,所以接口名应该要表达出要操作的资源,最好用名词的复数形式表示。除了接口的命名,对接口的返回结果,我们也应该规范起来,返回结果最好统一为JSON字符串的形式,方便前端解析,同时返回结果除了包含业务数据外,也应该包含请求的状态码,方便后端人员通过状态码大致可知请求处理过程,建议封装一个统一返回结果的response对象。
下面是常见的HTTP状态码:
- 200 - 请求成功
- 301 - 资源(网页等)被永久转移到其它URL
- 404 - 请求的资源(网页等)不存在
- 500 - 内部服务器错误
详细的状态码:http://tools.jb51.net/table/http_status_code