2011-11-20 2 views
3

예를 들어 jpeg 이미지를 반환하는 REST 리소스가 있습니다. 사용자가 수락 헤더 "image/jpeg"로 설정합니다. 그러나 이미지가 존재하지 않는 등의 문제가 서버에서 발생합니다. 우리는 그 예외를 사용자에게 돌려주고 싶다. 일반적으로이 예외는 xml, json 또는 html로 반환 될 수 있습니다.예외를 처리 할 때 Accept HTTP 헤더가 반환 된 내용에 어떻게 영향을 줍니까?

HTML 예외를 기본값으로 사용하는 것이 좋습니까? 아니면 예외 예외가 jpeg 유형이어야하며 따라서 횡설수설해야합니까?

+0

사양에 아무것도 표시되지 않지만 오류가 발생하는 경우 요청한 것 이외의 'Content-Type'을 보내 주시면됩니다. 요청한 유형의 응답 만 보내는 요구 사항은 어쨌든 반드시 필요한 것이어야합니다 (MUST). – Celada

+0

쉼표 사용 규칙을 추가했습니다. 즉, 예상되는 content-type은 물론 예외에 대한 content-type도 보낼 수 있습니다. eg image/jpeg, text/html – slbruce

답변

2

위의 설명에서 Celeda가 말한 것처럼 "동의"에서 선언 된 것보다 다른 콘텐츠 유형을 반환하는 것이 완벽합니다. 저자는 오류 조건이 존재할 때 신체에 전달 된 오류의 반환을 권장합니다.

Accept 헤더는 단순히 클라이언트가 "받아 들일 수있는"것으로 간주하는 응답을 생성했음을 서버가 보증 할 수있는 방법 일뿐입니다. 정의에 따르면, 오류는 수용 할 수 없습니다 (적어도 내 고객에게는 없습니다). 따라서 형식은 관련성이 없습니다. 확실히 jpeg 횡설수설은 받아 들여지지 않을 것입니다.

관련 문제