# HTTP 请求规范

为了统一团队协作时请求规范不一致的情况,FaasJS 提供了内置的请求规范和配套的浏览器插件。

# 请求

# Headers

  • Content-Type: application/json; charset=UTF-8

# Method

统一为 POST

# Path

请求路径默认与项目中的目录名和文件名一致。

# Query

不建议使用,入参请通过 Body 传值。

# Body

为空或 JSON 格式。

# 响应

# Headers

  • Content-Type: application/json; charset=UTF-8

# StatusCode

  • 200 请求成功且有返回信息
  • 201 请求成功但没有返回信息
  • 500 请求失败

其它状态可根据具体业务情况添加。

# Body

# 200 状态

  • data 必有,业务信息

例:

{
  "data": "value"
}
{
  "data": {
    "key": "value"
  }
}

# 201 状态

无 body 内容。

# 500 状态

  • error 必有,Error 对象
    • message 必有,错误信息内容

例:

{
  "error": {
    "message": "出错啦"
  }
}

# 常见问题

# 为什么不使用表单形式提交数据?

因为表单提交数据有两个比较大的问题:一是格式只能为字符串,二是层级数据嵌套时,会导致提交的字数过多。

# 为什么不使用 Restful 或者 GraphQL?

Restful 的问题在于需要开发者对动词和名词有较深的理解,GraphQL 的问题在于解析和权限验证较复杂,在 FaaS 的环境中使用 Apollo 之类的框架会显得更重。

因此 FaasJS 综合了 Restful 和 GraphQL 中易于理解的部分,将请求标准设计为仅 actionparams 的形式。