首页 > 解决方案 > 如何使用来自 Spring Boot 项目的用户定义代码、消息和数据抛出 jsonrpc 错误对象

问题描述

如何使用来自 Spring Boot 项目的用户定义代码、消息和数据抛出 jsonrpc 错误对象?我尝试了下面的代码,不幸的是传递的代码和数据没有进入错误。但我收到了消息。

我在下面提到了我的代码,我想在错误块中获取完整的数据对象信息。请帮助我

RPC 请求:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "process",
  "params": {
    "request": {
      "origin": "TEST",
      "quantity": 1
    }
  }
}

RPC 响应:

{
    "jsonrpc": "2.0",
    "id": 1,
    "error": {
        "code": -32001,
        "message": "Invalid request param",
        "data": {
            "exceptionTypeName": "com.googlecode.jsonrpc4j.JsonRpcClientException",
            "message": "Invalid request param"
        }
    }
}

抛出异常的JAVA代码

        ObjectMapper mapper = new ObjectMapper();
        NodeBean data = new NodeBean();
        data.setErrorCode("E400");
        data.setErrorMessage("Test message from error data object");
        JsonNode jsonNode = mapper.valueToTree(data);
        throw new JsonRpcClientException(1, "Invalid request param", jsonNode);

标签: javajsonrpc4j

解决方案


推荐阅读