Ответ 1
Вам не гарантировано получить ответы в порядке, о котором вы их просили; идентификатор должен помочь вам разобраться.
Я не понимаю, что такое идентификатор для JSON RPC. Кроме того, насколько плохо, как считается, не использовать стандарты JSON-RPC.org при разработке инструментария? Кажется, что в мире JSON-RPC существует какая-то двусмысленность.
P.S. Идентификатор, который я имею в виду, - это идентификатор здесь:
{"params":["Hello","World"],"method":"hello_world","id":1}
Вам не гарантировано получить ответы в порядке, о котором вы их просили; идентификатор должен помочь вам разобраться.
"id" возвращается в соответствующем объекте ответа, поэтому вы можете сопоставить один контекст с другим.
Если вы выполняете синхронные одиночные вызовы, это может не иметь смысла, но в среде с асинхронным многозвенным вызовом это жизненно важно.
Он не должен быть жестко закодирован до 1, но устанавливается уникальное значение для каждого объекта запроса, который вы генерируете из клиента.
Ни один из ответов не упоминает разницу между двумя существующими версиями протокола.
Идентификатор запроса. Это может быть любого типа. Он используется для соответствия ответ с запросом, на который он отвечает.
Идентификатор, установленный клиентом, который ДОЛЖЕН содержать строку, Number или NULL, если они включены. Если он не включен, предполагается быть уведомлением. Значение SHOULD обычно не должно быть Null и Номера НЕ ДОЛЖНЫ содержать дробные части.
Таким образом, в JSON RPC 2.0 совершенно точно установить id на некоторое фиксированное значение. Но имейте в виду использование id в пакетных запросах.