我现在开发的项目,是对外提供 API 接口,使用 JSON 数据格式。
现在对于返回数据的格式产生了疑惑,不确定用那种方式好些。
方案一:
不管执行成功还是执行失败,都返回同一数据格式的 JSON 数据:
执行成功时返回如下数据: { "code": 0, "message": "用户添加成功", "data": { "id": 82, "name": "张三" } }
执行失败时返回如下数据: { "code": 500, "message": "用户添加失败,用户已存在", "data": null }
不管执行成功还失败,都会返回 code 值,0 代表成功,其它代表失败(不同的错误会返回不同的状态码)
方案二:
执行成功与执行失败返回不同的 JSON 格式数据:
执行成功返回如下代码: { "id": 82, "name": "张三" }
执行失败返回如下代码,并根据不同的错误返回不同的 HTTP 状态码(如:400,404,500) { "code": 500, "message": "用户添加失败,用户已存在" }
执行失败返回的 JSON 数据格式是固定的,注意,执行失败时,会返回 HTTP 的不同的状态码。而 code 是详细的错误代码
此项目是 J2EE 项目,用哪种方案好些呢?优势又在哪里?