【问题标题】:Create input control using jasper restapiv2使用 jasper restapiv2 创建输入控件
【发布时间】:2018-11-15 02:46:04
【问题描述】:

我正在使用 Jasper API rest v2 https://github.com/Jaspersoft/jrs-rest-java-client。我正在尝试动态创建输入控件。

ClientInputControl cliInp = new ClientInputControl();
cliInp.setLabel("FUNCIONARIO_ID_1");
cliInp.setDataType(new ClientDataType().setType(TypeOfDataType.date));
cliInp.setUri("/datatypes/FUNCIONARIO_ID_1");
session.resourcesService().resource("/datatypes").createNew(cliInp);

我需要创建这个输入控件,以便添加到我的报告中。

当我执行这段代码时

Exception in thread "main" com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.BadRequestException: Bad Request

编辑

日志文件给出以下错误:

mt error:[{
  "message":"The type 0 is invalid",
  "errorCode":"illegal.parameter.value.error",
  "parameters":
    ["type",
     "0"]
    }]

谁能告诉我我做错了什么?

【问题讨论】:

  • 您应该检查是否获得了有关该错误的更多信息。查看this question 了解更多信息(它来自 php 客户端,但结构上应该相似)。
  • 您好,在日志信息中,没有更多信息,只有这个 badrequest。没有更多详细信息
  • 嗨,看起来好多了,我发现 mt 错误:[{"message":"类型 0 无效","errorCode":"illegal.parameter.value.error","parameters": ["type","0"]}]
  • TypeOfDataType,这是从哪里来的?事实上,我在客户端以及 Jasper API 或其他任何地方都找不到它。这段代码最初来自哪里,一个教程?
  • 您可以将您的解决方案添加为其他人看到的答案。

标签: java rest jasperserver


【解决方案1】:

你应该定义更多的值

    ClientDataType type = new ClientDataType()
            .setLabel("Data")
            .setType(TypeOfDataType.date)
            .setUri("/types");

    byte singleValue = 2; 
    ClientInputControl inputControl = new ClientInputControl()              
            .setLabel("Data")
            .setType(singleValue) //this parameter missing is your error
            .setDataType(type)
            .setUri("/inputs");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 2013-07-11
    • 2017-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多