#json-rpc
#json-rpc
Вопрос:
Могу ли я получить запрос на json-rpc 1.0 с такими параметрами:
{...,"params":[{"name":"x","type":"y"}],...}
или это возможно только в версии 2.0?
Я пробую больше примеров, но ничего не получается.Я отправляю параметры только в виде списка
{....,"parmas":["name","type"],.....}
Ответ №1:
Вы МОЖЕТЕ иметь параметры объекта в 1.0, внутри массива, поэтому ваш первый пример верен.
Разница в том, что в 1.0 в параметрах должен быть массив (который может содержать объекты), а в 2.0 сам параметр может быть объектом.
Правильно как в 1.0, так и в 2.0:
params: [{ "key": "value" }, "Other param" ]
Исправлено в версии 2.0, но НЕ 1.0:
params: { "key": "value", "other": "param" }
Комментарии:
1. Обратите внимание, что в спецификации 1.0 указано, что params — это «массив объектов». Таким образом, мой первый пример был бы недопустимым, если бы содержал строку в массиве. Но я думаю, что это просто неудачный выбор слов в спецификации, а не намерение запретить не-объектные параметры.
Ответ №2:
1.0 поддерживает только массив параметров.
2.0 добавлена поддержка именованных параметров.