通过增删改查直观的对比:
传统风格
查询 /user/query?name=tom GET
详情 /user/getInfo?id=1 GET
创建 /user/create?name=tom POST
修改 /user/update?id=1&name=jquery POST
删除 /user/delete?id=1 GET
RESTful风格
查询 /user?name=tom GET
详情 /user/1 GET
创建 /user POST
修改 /user/1 PUT
删除 /user/1 DELETE

Resultful特点:
1.使用URL描述资源
2.使用HTTP方法描述行为。使用HTTP状态码来表示不同的结果
3.使用json交互数据,传统模式使用的是键值对形式
4.RESTful只是一种风格,并不是强制的标准。

例子:
删除的服务接口
@DeleteMapping("/{id:\d+}")
更新的服务接口
@PutMapping("/{id:\d+}")

实例:

1.传统URL请求格式:
http://127.0.0.1/user/query/1 GET 根据用户id查询用户数据
http://127.0.0.1/user/save POST 新增用户
http://127.0.0.1/user/update POST 修改用户信息
http://127.0.0.1/user/delete GET/POST 删除用户信息

2.RESTful请求格式:
http://127.0.0.1/user/1 GET 根据用户id查询用户数据
http://127.0.0.1/user POST 新增用户
http://127.0.0.1/user PUT 修改用户信息
http://127.0.0.1/user DELETE 删除用户信息

 

 

RESTful规范:

#定义接口的规范
# REST:表征性状态转移(Representational State Transfer)
#RESTful规范:web数据请求接口设计规范

#学习的目的:
#1.如何设计url链接地址
#2.如何设计响应的数据格式

'''
1)通常使用https请求
2)域名:有api关键字出现
-- https://api.baidu.com (可能涉及跨越问题)
-- https://baidu.com/api
3)版本:不同版本需要标注
-- https://example.com/api/v1 | -- https://example.com/api/1
-- https://example.com/api/v2 | -- https://example.com/api/2
4)资源:请求的目标数据称之为资源,资源一般都用名词复数表示
-- https://example.com/api/v1/books (之前不规范的案例: /get_books/)
5)操作方式:不从请求链接体现操作方式,从请求方式上决定操作方式
-- get:https://example.com/api/v1/books 获取所有
-- post:https://example.com/api/v1/books 新增一本
-- put:https://example.com/api/v1/book/1 更新id=1的一本
-- patch:https://example.com/api/v1/book/1 更新id=1的一本
-- delete:https://example.com/api/v1/book/1 删除id=1的一本
6)资源过滤:通过接口传递参数来过滤资源
-- https://example.com/api/v1/books?limit=10 限制10条


7)状态码:返回数据要标准状态码,通过在数据中 {"status": 0}
-- SUCCESS("0", "查询成功")
-- NODATA("1xx", "非正确,无数据,显示基本信息")
-- FEAILED("2xx", "查询失败")
8)错误信息:请求失败需要标注错误信息 {"msg": "请求参数不合法"}
9)操作结果:请求操作成功的返回结果 {"results": []}
-- get:返回资源列表 | 返回单一资源
-- post:返回单一新增资源
-- put:返回更新的资源
-- patch:返回更新的资源
-- delete:返回空文档
10)子资源返回资源接口:返回的资源如果有子资源,返回子资源的链接地址,如查找书,书的封面图片就可以url表示
'''

posted on 2021-08-16 15:19  前端学习/vue  阅读(622)  评论(0编辑  收藏  举报