JSON RPC-что такое " id " для?
Я не понимаю, для чего нужен ID в JSON RPC. Кроме того, насколько плохо он считается не использовать JSON-RPC.org ' s стандарты при разработке инструментария? Кажется, в мире JSON-RPC есть некоторая двусмысленность.
С. П. ИД я имею в виду-это идентификатор здесь:
{"params":["Hello","World"],"method":"hello_world","id":1}
5 ответов
вы не гарантированно получите свои ответы обратно в том порядке, в котором вы их просили; идентификатор должен помочь Вам разобраться в этом.
" id " возвращается в соответствующем объекте ответа, поэтому вы можете сопоставить один контекст с другим.
Если вы делаете синхронные одиночные вызовы, это может не иметь смысла, но в асинхронной среде с несколькими выдающимися вызовами это жизненно важно.
Он не должен быть жестко закодирован в 1, но установлен в уникальное значение для каждого объекта запроса, который вы генерируете от клиента.
ни в одном из ответов не упоминается разница между двумя существующими версиями протокола.
идентификатор запроса. Это может быть любого типа. Он использован для того чтобы соответствовать ответ с просьбой, на которую он отвечает.
идентификатор, установленный клиентом, который должен содержать строку, Число или значение NULL, если включено. Если это не включено предполагается быть уведомлением. Обычно значение не должно быть Null и Числа не должны содержать дробных частей.
таким образом, в JSON RPC 2.0 отлично установить id на некоторое фиксированное значение. Но помните об использовании id в пакетных запросах.
- чтобы сервер знал, что вы ожидаете ответа.
- чтобы соответствовать ответам на запросы при использовании асинхронного или пакетные звонки.
вы можете прочитать документ JSON RPC https://www.jsonrpc.org/specification. В" 4 объекта запроса " идентификатор param объясняется четко.