gpt4 book ai didi

rest - Jasper REST 传递集合作为参数

转载 作者:行者123 更新时间:2023-12-01 01:05:56 27 4
gpt4 key购买 nike

我有一个报告,它接收一个 List 参数以在 IN 子句中使用它:
$X{IN, personID, _personID}
该报告在通过 Web 应用程序或 iReport 中的远程存储库 View 运行时起作用。

现在我需要使用 REST api 调用它。我尝试了几种不同的方法来在我的资源描述符中传递列表值,但它们都不起作用。

<resourceDescriptor name="Test_Report" wsType="reportUnit" uriString="/Test/Test_Report" isNew="false">

<parameter name="_personId" isListValue="true"><![CDATA[1]]></parameter>

</resourceDescriptor>

上面的示例返回以下错误:
Invalid type java.lang.String for parameter _personId used in an IN clause; the value must be an array or a collection.
我也尝试了以下方法:
<parameter>
<name>_personId</name>
<value isListValue="true">
3
</value>
</parameter>

但这会返回一个包含所有记录的报告,而不仅仅是 Id=3 的人。

最佳答案

我解决这个问题的方法是使用 JasperServer 的 REST V2 服务。

除此之外,V2 与第一个版本的服务相比有两个优点:

  • 它不需要资源描述符
  • 它在单个 GET 请求中运行并导出报告

  • 运行和导出报告所需的所有信息都通过请求 URL 传递,例如:
    <host>/rest_v2/reports/Test/TestReport.html?_personId=3&_personId=4&_personId=5&_personId=6

    关于rest - Jasper REST 传递集合作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18701170/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com