Ответ
JSON-RPC (Remote Procedure Call) — это легкий протокол для удаленного вызова процедур, использующий JSON в качестве формата данных. Он позволяет клиенту вызывать методы на сервере, передавая параметры и получая результат в структурированном виде.
Основные компоненты запроса/ответа:
jsonrpc: Версия протокола (например,"2.0").method: Имя вызываемого метода.params: Параметры метода (объект или массив).id: Идентификатор запроса для сопоставления ответа (может бытьnullдля уведомлений).
Пример запроса и ответа:
// Запрос от клиента
{
"jsonrpc": "2.0",
"method": "calculateSum",
"params": [5, 3],
"id": 1
}
// Ответ от сервера (успех)
{
"jsonrpc": "2.0",
"result": 8,
"id": 1
}
// Ответ от сервера (ошибка)
{
"jsonrpc": "2.0",
"error": {
"code": -32601,
"message": "Method not found"
},
"id": 1
}
Где используется: Часто применяется в блокчейн-клиентах (Ethereum), внутренней коммуникации микросервисов, веб-сокетах и API, где не подходит REST. С точки зрения тестирования (QA) важно проверять валидность JSON-схемы запросов/ответов, коды ошибок, обработку неверных параметров и корректность бизнес-логики, скрытой за RPC-методами.