Вопрос

Я не понимаю, для чего идентификатор в JSON RPC. Кроме того, насколько плохо он не использует стандарты json-rpc.org при разработке инструментария? Кажется, в мире JSON-RPC существует некоторая двусмысленность.

PS идентификатор, на который я говорю, это идентификатор здесь:

{"params":["Hello","World"],"method":"hello_world","id":1}
Это было полезно?

Решение

Вам не гарантированно вернуть свои ответы в заказ, который вы их просили; ID - помочь вам разобраться с этим.

Другие советы

«Идентификатор» возвращается в соответствующем объекте ответа, поэтому вы можете отобразить один контекст с другим.

Если вы делаете синхронные отдельные вызовы, это может не иметь смысла, но в асинхронной среде, выступающему на выставке, это жизненно важно.

Он не должен быть жестким кодированием до 1, но устанавливает уникальное значение для каждого объекта запроса, который вы генерируете от клиента.

Ни один из ответов не упоминает разницу между двумя существующими версиями протокола.

JSON RPC 1.0:

Идентификатор запроса. Это может быть любого типа. Он используется, чтобы соответствовать ответу с запросом, на который он отвечает.

JSON RPC 2.0:

Идентификатор, установленной клиентом, который должен содержать строку, число или нулевое значение, если включено. Если это не включено, предполагается, что это уведомление. Значение обычно не должно быть нулевым, а числа не должны содержать дробные части.

Таким образом, в JSON RPC 2.0 вполне нормально установить идентификатор на какое -то фиксированное значение. Но имейте в виду использование идентификатора в пакетных запросах.

  1. Чтобы сервер знал, что вы ожидаете ответа.
  2. Чтобы соответствовать ответам на запросы при использовании асинхронного или партийные звонки.

Вы можете прочитать документ JSON RPC https://www.jsonrpc.org/speciation. Анкет В «объекте 4 запроса» параметр идентификатора объясняется четко.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top