Restful接口是一种开发范式和编码风格,以资源的形式表示实体,配合WebMethod去操作资源。
RESTful (Representation State Transfer) 描述了一个架构样式的网络系统,比如 web 应用程序。它首次出现在 2000 年 Roy Fielding 的博士论文中,他是 HTTP 规范的主要编写者之一。RESTful 指的是一组架构约束条件和原则,满足这些约束条件和原则的应用程序或设计就是 RESTful。
比如我们要表征用户,那么按照Restful的规范,将采用如下的形式:
GET /users/{id} 根据id获得user
POST /users 新建一个user
PUT /users 修改user属性(在请求体中设置userDto)
DELETE /users/{id} 根据id删除user
Restful风格的接口表征资源很清晰,但也有一定的不足。比如修改用户用户名或者绑定手机号,是有两个动词分别达成对资源的操作,restful强调uri没有动词,所以要想完全遵照restful风格会对开发造成一定的障碍。所以小Z在开发的过程中在尽量参照该风格的前提下,只使用get和post,但使用get的接口一定是不造成资源的状态转移(可以理解为只读),而post涵盖了新增、修改、删除等动词性操作(不再使用put、patch和delete),那么在小Z所使用的接口url就将被抽象成:
GET /users/{id} 根据id获得user
POST /users/add 新增用户
POST /users/update 编辑用户
POST /users/pageFind 分页查询用户信息
POST /users/delete/{id} 删除用户
。。。
POST /users/+适当动词,表征对用户资源的操作。
在明确意识到接口不完全参照restful风格的情况下,借鉴资源的思想进行适当改造,那么开发参照如此的CRUD接口风格可以提高开发效率,同时在定义清楚资源实体的情况下,接口的生成完全可以使用代码生成器来完成。
你是否对此有自己的看法和想法呢?欢迎留言。
网友评论