2010-07-28 6 views
0

최근에는 주로 위젯으로 구성된 리치 웹 응용 프로그램에서 클라이언트와 서버 간의 통신을 표준화해야했습니다. 클라이언트에 대한 응답은 json 형식입니다. 오류 메시지 처리에 관해 결정할 때가되었을 때 두 가지 아이디어가 나타났습니다.오류 메시지 처리

  1. 의 같은

    { "성공"응답을 오류 메시지 부분을 보내기 : "거짓", "오류": [ "필드 1": "message1를", "FIELD2을": "message2를 "]}

  2. 가 헤더로 오류를 보내 단순히 (클라이언트에 'X-응용 프로그램 오류'

response.addHeader을 false를 반환 '["필드 1 ":"message1 "," field2 ":"message2 "] ')

두 번째 옵션은 깔끔한 것 같습니다. 사용자는 원할 때 헤더의 오류 만 검사합니다. 오류는 응답의 일부가 아닌 프로토콜의 일부분 인 것처럼 보입니다.

좋은 방법입니까? 편도가 다른 편보다 낫다.

답변

2

응답의 일부로 오류 메시지를 보냅니다.

사용자 지정 헤더를 추가하는 것은 HTTP 프로토콜 수준에서 상황을보고하려는 경우 수행 할 작업입니다. HTTP는 이미 HTTP 상태 코드를 통해 오류보고 방법을 확립했습니다. 응답의 본문에 클라이언트 (또는 자바 스크립트에서 사용)에 표시 될 내용을 남겨 두었습니다.

+0

+1 동의합니다. 또한 오류 메시지를 클라이언트에 반환하는 경우 클라이언트 언어로되어 있어야하고 시스템에 대한 중요한 정보 (예 : DB 연결 문자열)가 표시되어서는 안됩니다. 단지 호출 코드가 자신의 것으로 간주되기 때문에 그것은 항상있을 것입니다. –

+0

Ooops - "클라이언트 언어로"는 분명히 최종 사용자에게 보여지는 메시지에 적용됩니다. 하지만이 아이디어는 다른 레이어/시스템간에 오류 정보를 교환하는 데에도 적용됩니다. –