一、什么是Rest?
REST不是"rest"这个单词,而是几个单词缩写 -- REpresentational State Transfer 直接翻译:表现层状态转移,但这个翻译正常人根本看不懂,找到的一种最好理解的说法是,URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。
二、Restful api接口有什么特征?
REST描述的是在网络中client和server的一种交互形式;REST本身不实用,实用的是如何设计 RESTful API(REST风格的网络接口)。
1.URL的根路径
http://api.chesxs.com/v1
2.需要有api版本信息
http://api.chesxs.com/v1
3.URL中只使用名词指定资源,不用动词,且推荐使用复数
服务(Server)提供的RESTful API中,URL中只使用名词来指定资源,原则上不使用动词。“资源”是REST架构或者说整个网络处理的核心。比如:
http://api.chesxs.com/v1/cars // 获取某个账户下的车辆列表 http://api.chesxs.com/v1/fences // 获取某个账户下的围栏列表
4. 用HTTP协议里的动词来实现资源的添加,修改,删除等操作。即通过HTTP动词来实现资源的状态扭转
GET 用来获取资源, POST 用来新建资源(也可以用于更新资源)。比如:POST http://api.chesxs.com/v1/car: 添加车辆 PUT 用来更新资源, DELETE 用来删除资源。比如:DELETE http://api.chesxs.com/v1/cars 删除某辆车 (在http parameter指定好友id) UPDATE http://api.chesxs.com/v1/fence 更新围栏信息 错误使用: GET http://api.chesxs.com/v1/deleteCar 删除车辆
5.GET应该是安全的,不会改变资源状态
这个应该很好理解,get的时候就只是获取资源,而不涉及添加、更新、删除资源。
6.使用正确的HTTP Status Code返回状态码
常用的有404,200,500,400等等。
总结,看一个标准的restful api要可以做到
看Url就知道要操作的资源是什么,是操作车辆还是围栏 看Http Method就知道操作动作是什么,是添加(post)还是删除(delete) 看Http Status Code就知道操作结果如何,是成功(200)还是内部错误(500)
时间: 2024-10-06 23:41:53