2012-08-28 4 views
1

이름이 기존 파일과 충돌하는 파일을 업로드 한 후에도 서버는 여전히 HTTP 상태 코드 201 Created으로 응답합니다. 응답 본문을 구문 분석하여 실제로 생성되었는지 여부를 정확히 알아야했습니다. 상태 코드만으로 작업 결과를 알 수 있어야한다는 생각이 들었습니다. 그래서 이것이 의도 된 행동인지 궁금합니다. 다음Box API 2.0 충돌 이름이있는 파일 업로드가 반환됩니다.

나는 우리가 만드는 변화를 선보일 것

{ 
    "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" 
     } 
    ] 
} 

답변

1

우리는 (아마도 오늘 밤 나)는 (202) 이번 주에 200에서이 변화의 과정에서 얻을 응답입니다 업로드 상태가 202 일 경우 업로드 요청이 수락되었음을 나타냅니다. 나는 우리 blog에 더 많은 세부를 설명하기 위해 더 많이 게시 할 것이다.

기본 논리는 업로드를 대량으로 보낼 수 있으며 API 호출은 업로드 상태 배열 (stati?)을 반환해야한다는 것입니다. 파일 하나만 업로드하면 1의 배열이 생기고 배열을 파헤쳐 성공 여부를 확인해야합니다. 파일 그룹을 업로드하면 배열로 파고 들어 각 파일의 상태를 찾습니다.

다음과 같은 질문을 할 수 있습니다. 파일이 하나 뿐인데 왜 상태를 축소하지 않습니까? 우리는 단일 대 일괄 업로드를 다루기 위해 2 가지 다른 코드 경로를 구현해야한다는 생각이 들었습니다. 그리고 한 번만 코드를 작성하여 업로드를 처리하는 것이 더 쉬울 것입니다.

희망이 있습니다. 오류 코드를 200에서 202로 바꾼 후 예기치 않은 동작이 발생하면 알려주십시오.

+0

분명히 설명합니다. 명확히 해 주셔서 감사합니다. – Azu