2013-01-18 6 views
3

웹 API 컨트롤러에서 예외를 throw하려고합니다. 문제는 내 JavaScript 코드가 데이터를 다시 가져 오지 못한다는 것입니다.ASP.NET 웹 API 예외 발생

throw new HttpResponseException(HttpStatusCode.NoContent); 

제 jQuery 아약스 함수에서 나는 아무것도 얻지 못합니다. 아약스 호출에서 정의되지 않은 결과가 나옵니다. 기본적으로 서버에서 오류를 처리하는 올바른 방법은 무엇입니까?

답변

1

나는 지금 매우 어리 석다. 나는 다른 StatusCode를 시도했고, 이제 나는 어떤 데이터를 다시 얻었습니다. 나는 모든 statusCode가 어떤 값을 리턴한다고 가정했다. 이 상태 코드는 문자 그대로 NoContent를 반환합니다.

+2

FYI : "내용 없음"은 실제로 204 상태 코드입니다. 2XX 범위의 모든 상태 코드는 클라이언트에 의해 성공한 것으로 간주됩니다. 따라서 예외를 던지고 NoContent를 반환하는 것은 약간의 모순입니다. 상태 코드로 BadRequest 또는 NotFound 중 하나를 찾고있을 것입니다. –

+0

HTTP 상태 코드 204는 GET 동사가 HEAD 동사와 같은 역할을하므로 데이터가 반환되지 않아야 함을 의미합니다. HTTP 상태 코드 200 또는 다른 2xx 상태를 반환해야합니다. 그리고 Darrel이 2xx 상태 코드를 던지는 것에 동의합니다. 이는 예외적으로 의미 상으로는 보이지 않습니다. –