2010-04-29 5 views
1

내 웹 서비스 중 하나가 사람이 소유 한 프로젝트의 ID 목록을 반환합니다. 즉, 제가 http://example.com/wsListProjects?user=eric을 얻었을 때 프로젝트 목록과 함께 XML이 반환됩니다. 그러나 user = xxx를 지정하면 존재하지 않는 사람이 현재 404 응답을 반환합니까? 반환 할 올바른 응답입니까?웹 서비스에 대한 올바른 응답은 무엇입니까?

감사합니다.

+0

자세한 정보는 여기에 있습니다. http://stackoverflow.com/questions/1322719/rest-webservice-error-handling –

답변

1

정말 의견의 문제입니다. Twitter와 같은 많은 웹 서비스는 사용자 자격 증명이 잘못된 경우 401 Unauthorized와 같이 HTTP 반환 코드를 사용하고 XML 형식의 오류 개체 만 반환하는 반면 다른 사용자는 아무것도 반환하지 않습니다. 정말 모두 디자인에 영향을 미칩니다.

+0

동의. 예외를 던지거나 null 또는 false 값을 반환하는 메서드를 갖는 것과 같은 선택입니다. 예외를 쉽게 포착 할 수 있으므로 예외가 발생하지만 언젠가는 null 또는 false를 반환하는 것이 좋습니다. –

1

존재하지 않는 사용자와 할당 된 프로젝트가없는 사용자간에 "차이가 있습니까?"라는 관점에서 차이가 있습니까? 그렇지 않은 경우 두 경우 모두 빈 목록 만 반환하십시오.

차이점이있는 경우 빈 목록과 함께 사용자가 존재하지 않으면 채워진 MessageCode/MessageText 필드를 추가하십시오.

두 경우 모두 404가 적절하다고 생각하지 않습니다 - 사이트가 존재하고 404는 실제 웹 요청에 문제가 있음을 나타냅니다.

0

사용자가 페이지에 액세스 할 수 없으면 404를 반환합니다. 일반적으로 403 (또는 401)을 반환하지만 어떤 경우에는 페이지가 존재하지 않는 것처럼 보이기를 원하기 때문에 404가 적합합니다. 정말로 상황에 달려 있습니다.

관련 문제