关于restful API 的长篇大论,本文不赘述
直言自己的理解:
- restful API一种HTTP API的设计思想或理念倡导,不是必然遵循,更不是框架
- 可以简单的理解为 HTTP+JSON+RequestMethod
- URL尽量能表述一个资源,且对该资源的操作尽量用method来表示和区分CRUD的操作,太学院派
- 可以借鉴restful API的一些理念和优点,完全照搬,显得挺鸡肋
具体阐述如下
1. URL表述一个资源是没错的,定时操作都由method代替是挺呆板的,只有非常简单的CRUD,适合完全遵循restful API风格
2. 约定的method细致繁琐,项目中不建议照搬,如下
GET(SELECT):从服务器取出资源(一项或多项)。
POST(CREATE):在服务器新建一个资源。
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
DELETE(DELETE):从服务器删除资源。
实际使用中,建议如下
GET(SELECT):查询
POST(CREATE):新增或修改数据
DELETE(DELETE):删除数据
也就是method,变成了操作敏感性的一个标示而已,而不是刻板的遵循
3. URL可以遵循restful 尽量语义精简明确,实际使用时可以根据需要自由扩展,例如更新内容,有时候可能是更新用户的登陆密码、有时候是更新用户的支付密码等,操作敏感性和验证完全不一样的,所以URL你就看着来,别理会restful,我们只是为了借鉴下思路,不用被圈着
例如
更新密码 /user/update-login-pwd (POST)
更新支付密码 /user/update-pay-pwd (POST)
如果用一个URL根本达不到这两个独立特性的更新
4.理念永远都只是理念,不一定都对,不一定都好,得看具体的项目,得看是否符合你现在的项目,别较真,只是为了让你更好的设计程序,提供一种依据