自用接口规范(持续更新中)

按照最近项目的开发习惯

Posted by if on 2019-02-12

接口规范

协议

​ 为进一步确保数据交互安全。正式地址(生产地址)建议遵循HTTPS协议。

路径

​ 作为接口路径,为了和其他路径完美区分,在路径中添加api目录

https://localhost:8080/api

Token

  • token放在HTTP请求的Header中进行传递
  • 登录获取token
  • 在token过期前,用户还有操作应更换新token
  • token存放用户基本信息、过期时间等
  • 客户端除登录外任何请求都带着token

设计

  • PUT是设置(覆盖)、PATCH是合并(更新),按照实现方式去做定义

  • PUT、POST、PATCH 请求的ContentType

    ContentTypeapplication/json

  • 新增资源( POST)

    新增产品

    ​ url -> /product

    ​ body -> product实体对象 或 其DTO

  • 修改资源(PATCH)

    修改产品

    ​ url -> /product

    ​ body -> product实体对象 或 其DTO

    如果资源有层级关系,指明上级id并放到url中

    ​ url -> /project/{projectId}/product

    ​ body -> product实体对象 或 其DTO

  • 设置资源(PUT)

    此类操作适用于直接覆盖旧数据的更新操作

    设置默认密码

    ​ url -> /user/defaultpwd

    ​ body -> DTO

  • 获取资源(GET)

    • 获取单条资源

      获取产品详情

      ​ url -> /product/{id}

      ​ param ->查询参数

    • 获取资源列表

      获取产品列表

      ​ url -> /products

      ​ param ->查询参数

  • 删除资源(DELETE)

    删除产品

    ​ url -> /products/{ids}

  • 资源关联关系

    • 收藏产品(PUT) url -> /products/star?id={id}
    • 取消收藏(DELETE) url -> /products/star?id={id}
    • 查看收藏状态(GET) url -> /products/star?id={id}
  • url里资源后的{id} 为该资源的主键{id}

    first/{fid}/second/{sid}/thirds

    即为 指定first下指定second下的所有third

  • 当前用户ID不要放到参数或者url中进行传递,服务端应从token中获取