restful是什么
restful是一种基于资源的软件架构风格。
设计概念和准则
- 网络上所有的事物都可以抽象为资源
- 每个资源都有唯一的资源标识,对这些资源的操作不会改变这些资源的标识。例如:你删除了一个资源,只是这个标识找到的是404,而标识还是在的。
- 所有的操作都是无状态的。你的一次操作,和上一次,下一次的操作没有任何的关系。
restful和http
restful是基于http的
soap webservice
webservice是一种跨编程语言和操作系统的远程调用技术。
webservice接收和请求的时候采用xml来封装数据,并且增加了一些特定的http消息头,这些消息头和xml内容格式就是soap协议。
soap的效率和易用性不好,但是安全性优于restful。
restful基于http,简单易用,但是安全性不高。所以,restful对于资源型服务接口来说很合适,适用于效率要求高,安全性要求不高的场景。
设计restfulAPI
资源路径:每个网址代表一个资源
Http动词:http的get post put delete来表示crud
过滤信息:如果数据太多,服务器不能全部返回,你必须提供参数来过滤返回结果。例如:查询全部商品信息,?page=1&rows=30来分页查询。
状态码:返回状态码来表示操作结果。
错误处理:如果状态码是400等等,你返回的信息中应该有error:XXX,键名是error的信息。