2012-05-21 3 views
0

나는 나머지 API를 만들고 오류를 반환하는 것에 대해 궁금해하고있었습니다. 현재, 내 계획은 http 상태 코드를 사용하는 것이지만 항상 결과를 반환합니다. 오류가 발생하면 결과는 다음과 같이 표시됩니다.휴식 API 반환

{ 
"Data":[the data]," 
Errors":[the errors] 
} 

기본적으로 오류가 4XX의 HTTP 상태 코드를 발생 또는 5xx를 반환 할 것입니다 및 반환 된 JSON의 Errors 컬렉션은 데이터 섹션이 null 인과 오류에 대한 자세한 내용을했을 경우. 호출이 성공하면 Http Status 코드 200이 요청 된 데이터를 포함하는 데이터 요소와 함께 반환되며 errors 요소는 비어 있습니다.

오류 정보가 포함 된 데이터를 반환하는 좋은 방법일까요?

답변

0

제 디자인에서는 응답 JSON 객체에 'data'및 'errors'속성을 모두 포함하지 않았습니다.

API가 성공하면 '데이터'만 반환합니다. 그리고 http 상태 코드는 2XXX입니다.

API가 실패하면 '오류'개체가 반환됩니다. http 상태는 RFC 2616의 10 절에 정의 된 사양을 따릅니다.

내 오류 개체의 예는 다음과 같습니다.

HTTP/1.1 404 Not Found 
X-Powered-By: Express 
Content-Type: application/json; charset=utf-8 
Content-Length: 100 
Date: Thu, 08 Nov 2012 07:07:05 GMT 
Connection: keep-alive 

{ 
    "type": "error", 
    "status": 404, 
    "message": "Not Found", 
    "help_url": "/api/help.html" 
}