Формат JSONRPC отличается между Jsonrpc4j и go's rpc/jsonrpc

Я столкнулся с проблемой, когда попытался использовать пакет net/jsonrpc для сборки сервера и клиента Java с jsonrpc4j

Проблема в том, что jsonrpc4j - когда происходит ошибка, метод Голанга возвращает ошибку и кодировку в json.

Я получил этот объект JSON в клиенте

{"id": -6028374044949000, "result": null, "error": "некоторое сообщение об ошибке возврата"}

Не удалось выполнить приведение этого объекта в json4j.

http://www.jsonrpc.org/specification

После того, как я проверил страницу jsonrpc, говорят, что поле ошибки ДОЛЖНО быть объектом json с полями [код, сообщение, дата], пакет golang jsonrpc не соответствует требованию.

Поэтому я запутался, как решить это. Измените библиотеку jsonrpc, просто замените путь rpc на thrift/gRpc, избегайте возврата ошибки, но отправьте ошибку в ответе и позвольте Java проверить ответ, или просто отредактируйте исходный код json4j или golang (я очень ужасен по поводу этой опции)

Спасибо за просмотр.

1 ответ

Если вам нужна поддержка JSON-RPC 2.0 для Go, попробуйте https://github.com/powerman/rpc-codec

Другие вопросы по тегам