前后端开发面临的问题
- 错误码规范
- 异常结果的返回
- 会话如何保持
错误码规范
前后端需要定义一套完整的错误码体系,每个错误码都有其含义,正确响应结果会有一个code,可以定义为200,跟标准http code对应,容易理解。有些api接口,会使用http标准code返回,告知用户业务的状态,例如easyar的接口https://help.easyar.cn/EasyAR%20CRS/api/target-search.html
图片不存在:
HTTP/1.1 404 NOT FOUND
Content-Type: application/json
{
"statusCode": 17,
"result": {
"message": "No result: there is no matching."
}
}
这里使用了http的状态码标识业务状态,这也是一种方式,不过我更倾向于使用HTTP 200表示请求的正确性,通过内部的statusCode表示业务状态。
异常结果的返回
异常结果可以使用错误码来表示,例如statusCode=400表示xxx业务异常,也可以使用状态码之外的数据表示异常情况,例如异常情况则数据为空,由前端来判断数据的正确性,而非状态码的正确性。个人更倾向于使用错误码来表示业务异常,这样情况需要处理的情况就比较少了。
会话如何保持
前后端分离的项目通常使用自定义cookie或者使用Http Header来传递授权token,这样后台就可以获取到token判断会话的合法性。