1

上传与现有文件名称冲突的文件后,服​​务器仍以 HTTP 状态代码201 Created响应。我必须解析响应正文才能确切知道它是否真的被创建。听起来我应该能够仅通过状态码知道操作的结果。所以我想知道这是否是预期的行为。

以下是我得到的回复

{
   "total_count":1,
   "entries":[
      {
     "type":"error",
     "status":409,
     "code":"item_name_in_use",
     "context_info":{
        "conflicts":[
           {
              "type":"file",
              "id":"2990420477",
              "sequence_id":"0",
              "etag":"1f64ca909178de30bc682a4ca2d14444719cf9a2",
              "name":"Extensions.pdf"
           }
        ]
     },
     "help_url":"http:\/\/developers.box.com\/docs\/#errors",
     "message":"Item with the same name already exists",
     "request_id":"1389504407503c7c1e8183c"
      }
   ]
}
4

1 回答 1

1

我们正在将其从 200 更改为 202。本周晚些时候(或可能今晚)我们将推出一项更改,将上传状态设为 202,以表明上传请求已被接受。我将在我们的博客上发布更多内容以解释更多细节。

基本逻辑是上传可以批量发送,API 调用必须返回一组上传状态(stati?)。如果你只上传一个文件,你会得到一个 1 的数组,你必须深入数组看看你是否成功。如果您上传一组文件,那么您将深入研究数组以找出每个文件的状态。

你可能会问:当只有一个文件时,为什么不折叠状态呢?我们的想法是,您必须实现 2 种不同的代码路径来处理单次上传和批量上传,并且只编写一次代码来处理上传会更容易。

希望有帮助。在我们将错误代码从 200 翻转到 202 后,如果您看到意外行为,请告诉我们。

于 2012-08-28T21:13:27.377 回答