美文网首页程序员当我写下一亿行代码
【1.3 后端开发】之【Restful接口小议】

【1.3 后端开发】之【Restful接口小议】

作者: 当我写下一亿行代码 | 来源:发表于2019-03-11 17:59 被阅读8次

    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接口风格可以提高开发效率,同时在定义清楚资源实体的情况下,接口的生成完全可以使用代码生成器来完成。

    你是否对此有自己的看法和想法呢?欢迎留言。

    相关文章

      网友评论

        本文标题:【1.3 后端开发】之【Restful接口小议】

        本文链接:https://www.haomeiwen.com/subject/lqobpqtx.html