【问题标题】:Adding additional field in Response Object在响应对象中添加附加字段
【发布时间】:2020-12-06 16:52:30
【问题描述】:

我在调用 API 时得到以下响应。

 Response postRequestResponse = ConnectionUtil.getwebTarget()
                        .property(ClientProperties.SUPPRESS_HTTP_COMPLIANCE_VALIDATION, true)
                        .path("bots")
                        .path(ReadSkillID.readSkillId())
                        .path("dynamicEntities").path(dynamicEntityID)
                        .path("pushRequests").path(pushRequestID).path(operation)
                        .request()
                        .header("Authorization", "Bearer " + ConnectionUtil.getToken())
                        .get();

低于我得到的输出。

 {
        "createdOn": "2020-08-17T12:19:13.541Z",
        "updatedOn": "2020-08-17T12:19:23.421Z",
        "id": "C84B058A-C8F9-41F5-A353-EC2CFE7A1BD9",
        "status": "TRAINING",
        "statusMessage": "Request Pushed into training, on user request"
    }

我必须将此输出返回给客户端,并在响应中添加一个附加字段。怎么修改上面的响应并做出来

{
         "EntityName": "NewEntity",   //New field
        "createdOn": "2020-08-17T12:19:13.541Z",
        "updatedOn": "2020-08-17T12:19:23.421Z",
        "id": "C84B058A-C8F9-41F5-A353-EC2CFE7A1BD9",
        "status": "TRAINING",
        "statusMessage": "Request Pushed into training, on user request"
   }

我在这里添加这个附加字段 “实体名称”:“新实体”

我该怎么做。我尝试了很多事情,但都遇到了例外。

【问题讨论】:

  • 您使用的是哪个 HTTP 客户端?发布完整的课程。
  • 你能告诉我们更多细节吗,你从哪个班级得到这个 sn-p,ReadSkillID.readSkillId() 是什么。

标签: java json spring jackson jackson-databind


【解决方案1】:
  1. postRequestResponse 获取 JSON(我不知道您使用的是什么框架,所以您必须自己弄清楚,但 Response 数据类型可能有一个 getResponseBody 或类似的方法来返回 JSON)
  2. 添加实体名称
  3. 再次将其序列化为 json。
类 YourBean { @自动连线 私有对象映射器对象映射器; 公共无效你的方法(){ // 1 最终输入流 jsonFromResponse = ... // 2 映射 dataFromResponse = objectMapper.readValue(jsonFromResponse, Map.class); dataFromResponse.put("EntityName", "NewEntity"); // 3 最终字符串丰富的Json = objectMapper.writeValueAsString(dataFromResponse); } }

enrichedJson 包含 EntityName 和来自 API 的任何内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-01
    • 2023-02-03
    • 2017-07-30
    • 2020-01-23
    • 2020-04-14
    相关资源
    最近更新 更多