美文网首页
Restful API 规范v1

Restful API 规范v1

作者: 贾老师和他的朋友们 | 来源:发表于2019-11-05 13:27 被阅读0次

    内部使用。本想从阿里和腾讯的api找点规律,结果失望了。网上规范,有些地方并不认同。

    Restful

    命名规范

    1.结尾不能是斜杠"/"
    2.全部用小写字母;单词之间用中划线"-"分隔。
    3.[acl]/v[1]/[模块]/[对象]/动作
    3.1. acl可选,表示需要权限控制,否额不需要。
    3.2. 版本号,默认v1
    3.3. 模块,例如crm
    3.4. 对象,例如客户custmoter
    3.5. 动作save(保存);update(修改);delete(删除);get(查看明细);list(查询列表)
    例如:
    a. 查看用户
    acl/v1/crm/customer/get/1
    b. 修改用户
    acl/v1/crm/customer/update
    c.保存用户
    acl/v1/crm/customer/update
    d.删除用户
    acl/v1/crm/customer/delete/1
    c.用户列表
    acl/v1/crm/customer/list
    如果是针对唯一id的用户操作,id放到url上。如果

    为什么不是

    1.url中不能有动词?
    HTTP有get、post等,但是从url上怎么看出来呢?

    返回值

    1.统一格式 。参考RestResult对象结构。
    2.相应代码,也就是code
    200 OK
    400 bad request 常用在参数校验
    401 unauthorized 未经验证的用户,常见于未登录。如果经过验证后依然没权限,应该 403(即 authentication 和 authorization 的区别)。
    403 forbidden 无权限
    404 not found 资源不存在
    500 internal server error 非业务类异常
    503 service unavaliable 由容器抛出,自己的代码不要抛这个异常
    目前分歧在于成功的返回值,原来多用0表示成功,而有些同学用200做成成功。新项目用0表示,是字符串0。老项目保持不变。

    安全设计

    jwt

    相关文章

      网友评论

          本文标题:Restful API 规范v1

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