当前位置: 首页 > 知识库问答 >
问题:

将json rest响应转换为数据对象jBPM(无法将响应转换为对象)

微生宝
2023-03-14

我正在处理jBPM 7.22.0。最终的

我使用服务任务REST从这个api获取响应https://reqres.in/api/users/1

{
  "data": {
    "id": 1,
    "email": "george.bluth@reqres.in",
    "first_name": "George",
    "last_name": "Bluth",
    "avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/calebogden/128.jpg"
  }
}

我想将此响应获取到一个对象中,因此我创建了这个类(或jBPM中调用的数据对象):

package com.bechirspace.testproject;

/**
 * This class was automatically generated by the data modeler tool.
 */

    public class data implements java.io.Serializable {



static final long serialVersionUID = 1L;

    private Integer id;
    private java.lang.String email;
    private java.lang.String first_name;
    private java.lang.String last_name;
    private java.lang.String avatar;

    public data() {
    }

    public java.lang.String getEmail() {
        return this.email;
    }

    public void setEmail(java.lang.String email) {
        this.email = email;
    }

    public java.lang.String getFirst_name() {
        return this.first_name;
    }

    public void setFirst_name(java.lang.String first_name) {
        this.first_name = first_name;
    }

    public java.lang.String getLast_name() {
        return this.last_name;
    }

    public void setLast_name(java.lang.String last_name) {
        this.last_name = last_name;
    }

    public java.lang.String getAvatar() {
        return this.avatar;
    }

    public void setAvatar(java.lang.String avatar) {
        this.avatar = avatar;
    }

    public java.lang.Integer getId() {
        return this.id;
    }

    public void setId(java.lang.Integer id) {
        this.id = id;
    }

    public data(java.lang.Integer id, java.lang.String email,
            java.lang.String first_name, java.lang.String last_name,
            java.lang.String avatar) {
        this.id = id;
        this.email = email;
        this.first_name = first_name;
        this.last_name = last_name;
        this.avatar = avatar;
    }

}

我在jBPM中创建了一个名为res的全局变量,该变量具有我要存储响应的数据对象的类型。因此,在我的REST服务任务的“任务”中,我有屏幕截图中的内容。

如您所见,我想将结果存储到类型为Data(我创建的)的变量res中,并将结果放入要转换的类类型ResultClass中(com.bechirspace.testproject.Data)。但它不起作用,我可以成功地构建和部署,但当我想要启动“新流程实例”时,它会显示以下消息错误

    Unable to complete your request. The following exception occurred:
     "Unable to create response: [src.main.resources.testProcess:1,434 - REST:7]
 -- java.lang.RuntimeException: Unable to transform respose to object".

PS:如果我将响应分配给String变量,我可以打印它,所以问题在于转换响应,而不是获取它。

您可能会说这是一个重复的问题(将jBPM REST响应映射到自定义对象),但我没有找到明确的答案,有人能帮我吗?

共有1个答案

詹夕
2023-03-14

我创建了另一个名为Person的数据对象,其属性为“Data”,并将Result和ResultClass更改为这个新类。我必须遵循与json响应相同的结构,json响应是一个对象,有一个名为data的对象属性,该属性包含其余属性。

package com.bechirspace.testproject;

/**
 * This class was automatically generated by the data modeler tool.
 */

public class Person implements java.io.Serializable {

    static final long serialVersionUID = 1L;

    private com.bechirspace.testproject.data data;

    public Person() {
    }

    public com.bechirspace.testproject.data getData() {
        return this.data;
    }

    public void setData(com.bechirspace.testproject.data data) {
        this.data = data;
    }

    public Person(com.bechirspace.testproject.Data data) {
        this.data = data;
    }


}
 类似资料:
  • 问题内容: 我是使用SOAP API的新手 我有一个来自API的肥皂响应 我正在尝试将其转换为对象。 通过在线阅读文章,我试图使用JAXB来做到这一点,但是我的对象是空的。 这是读取响应的代码。我将响应写到xml文件中以进行测试: 本类: 提前致谢! 问题答案: 您可以使用此代码检索POJO,还可以将@XmlRootElement作为标头添加到POJO。 (我没有测试下面的代码) 编辑: 我为您找

  • 我用这个服务结果构造了一个组件类对象,我也得到了错误 错误TypeError:无法读取未定义的属性“name” 当我在HTML文件中使用它时。

  • 我需要将其转换为以下格式: 类型的数量可以改变(例如,可以只有A和B)。有人能帮我吗?我使用这个组件在网站https://js.devexpress.com/demos/widgetsgallery/demo/datagrid/simplearray/angular/light/上显示数据

  • 我有一个带有POST REST API的SpringBoot2.2 webservice。我正在使用Okhttp客户机向第三方服务发出请求。我希望将第三方服务的确切响应返回给我的WebService的调用者。所有okhttp食谱都参考: 我尝试在api中返回okhttp响应,但我只返回调用方示例: 有人知道如何将Okhttp响应对象转换为Spring ResponseEntity对象以便返回htt

  • 我是格森的新手。我需要将下面的JSON响应转换成一个列表。 JSON响应: 我有一门课要教数据 账户JAVA 当我对我的班级做出回应时,我得到了: 现在我需要将这两个值放入

  • 问题内容: 我在尝试将json响应投射到对象时遇到问题,我的对象的所有属性都是字符串,是否正常? 这是我的ajax请求: 这是我的徽章模型: 这是我调用服务功能的地方,我正面临这个问题: 问题答案: 很难解释: 是一个 类 ,这意味着需要通过构造函数调用创建Date类型的值。换句话说,使用创建一个类实例。 Response.json方法将仅返回JSON格式的对象,并且该类不包含任何类的实例,仅包含