문제

JSON RPC에서 ID가 무엇인지 이해하지 못합니다. 또한 툴킷을 개발할 때 json-rpc.org의 표준을 사용하지 않는 것이 얼마나 나쁜가? JSON-RPC 세계에는 약간의 모호성이있는 것 같습니다.

추신 내가 언급하는 ID는 여기의 ID입니다.

{"params":["Hello","World"],"method":"hello_world","id":1}
도움이 되었습니까?

해결책

당신은 당신이 그들에게 요청한 순서대로 당신의 답변을 되 찾을 것을 보장하지 않습니다. ID는 당신이 그것을 정리하는 데 도움이되는 것입니다.

다른 팁

"ID"는 해당 응답 객체에 반환되므로 한 컨텍스트를 다른 컨텍스트에 매핑 할 수 있습니다.

동기식 단일 호출을하는 경우 말이되지 않을 수도 있지만 비동기 다단계 통화에서는 중요합니다.

1로 하드 코딩되어서는 안되지만 클라이언트에서 생성하는 모든 요청 객체에 대해 고유 한 값으로 설정해야합니다.

답변 중 어느 것도 프로토콜의 두 버전의 차이점을 언급하지 않습니다.

JSON RPC 1.0:

요청 ID. 이것은 모든 유형 일 수 있습니다. 응답이 응답하는 요청과 일치하는 데 사용됩니다.

JSON RPC 2.0:

포함 된 경우 문자열, 번호 또는 NULL 값을 포함 해야하는 클라이언트가 설정 한 식별자. 포함되지 않은 경우 알림으로 가정합니다. 값은 일반적으로 널가되어서는 안되며 숫자에는 분수 부품이 포함되어서는 안됩니다.

따라서 JSON RPC 2.0에서 ID를 일부 고정 값으로 설정하는 것은 완벽하게 괜찮습니다. 그러나 배치 요청에서 ID의 사용에주의하십시오.

  1. 서버에게 응답을 기대하고 있음을 알리기 위해.
  2. 비동기식을 사용할 때 요청에 대한 응답과 일치합니다 배치 호출.

JSON RPC 교리를 읽을 수 있습니다 https://www.jsonrpc.org/specification. "4 요청 객체"에서 ID 매개 변수는 명확하게 설명됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top