2016-07-11 4 views
1

부분적인 오류 만있을 때 JSON RPC 응답을 반환하는 표준 방법은 무엇입니까? both 'result' and 'error' cannot both be set 인 것으로 보입니다.JSON RPC 2.0 : 부분 오류 및 부분 결과 인 응답

동일한 API를 실행하는 여러 사이트에서 서버가 결과를 집계하는 경우가 있습니다. 집계의 이유는 Same-Origin Policy 때문입니다. 각 사이트는 결과 또는 오류로 응답 할 수 있습니다. 어떤 사람이 결과로 응답하고 다른 사람이 오류로 응답하면 집계 서버는 원래 발신자에게 완전한 응답으로 무엇을 반환합니까?

a =(method)=> b 
       b =(method)=> c 
       b =(method)=> d 
       b <=(error)== c 
       b <=(result)= d 
a <=(??????)= b 

는 단순히 두 개의 응답 (오류없이 'ID'결과 하나와 'ID'이번이 마지막 응답을 알리는 하나)을 반환하는 것이 최선인가?

답변

0

서버 책임은 오류가있을 수있는 결과를 집계하여 반환하는 것입니다. 이것이 고객이 기대하는 바입니다.

--> {"jsonrpc": "2.0", "method": "getResults", "id": 1} 

<-- {"jsonrpc": "2.0", "result": [ "success", "error" ], "id": 1} 

예기치 않은 이유로 서버 자체가 요청을 처리 할 수없는 경우 오류를 반환해야합니다.

+0

원래 질문에 답하는 것처럼 보이지만 관계없이 원하는 것이 남아 있다고 말해야합니다. 서버 "C"가 서버 "D"보다 훨씬 빠르게 반응한다면? 클라이언트 "A"가 실제로 완전한 결과를 얻기 위해 추가 시간을 기다려야합니까? –

+0

@GregSmethells 예. JSON-RPC에는 하나의 요청에 대해 하나의 응답이 있습니다. [진행 알림] (https://groups.google.com/forum/#!topic/json-rpc/8Ea6qu_u_tU)에 대한 논의가 있지만 아직 사용할 수 없습니다. – Rodris