Формат 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