API 非功能性需求

Schema - 规范

  • HTTPS - 保护数据安全
  • 数据格式 - Json
  • 空字段以null返回
  • 日期以ISO 8601返回?
  • 编码以UTF-8 返回
  • 未授权请求以404返回,以避免leak of information
  • 错误输入(错误json格式),返回200,但是包含错误代码。
  • 请求中支持的http header: content negotiation?api version?timezone?

Security - 安全

  • 第三方应用注册,审核??
  • 租户里设置访问权限,授权范围: 租户,项目
  • 获取Oauth token
  • 使用Oauth token访问service

Rate limits

  • 每个应用应设定每小时最多访问次数。
  • 不同级别的应用程序有不同的上限。
  • 不同的API可以设置系统级的访问次数限制。
  • 如果超越了rate limit会收到错误消息

Error handling

  • 错误消息 HTTP200 + json message(code+message)

Logging

  • 访问log,应包括应用和租户信息

Versioning

  • Resource URI应该一直可用,当前版本URL中无需version参数

分类: web

标签: