其中一个操作失败时的REST调用状态

时间:2012-12-13 21:50:22

标签: json rest response status

我有一个学生添加REST api调用。这允许候选数据以及文件附件。 可以说,候选人已成功添加,但由于某种原因未上传该文档。 什么应该是响应状态代码。

如果两者都成功,我将使用新创建的候选JSON对象返回200。

1 个答案:

答案 0 :(得分:0)

REST API调用应该成功或失败。没有中途。

如果创建帐户不是必须上传附件,则应在单独的调用中完成。如果附件是强制性的(或者如果提供附件必须上传),请求将失败,不会创建用户,然后返回指示问题的4xx状态代码。

假设它不是强制性的,我会将其分为2个不同的REST调用。试图将过多的功能重载到一个调用中会让你的api变得混乱。我建议创建一个调用创建用户,第二个调用文件与用户相关联。然后,您只需使用201(为新用户创建)和200(用于成功关联文档)响应代码。

另一个选择:优雅地忽略失败,创建用户,返回201并使用丢失的附件生活:)