【发布时间】:2012-03-02 17:54:06
【问题描述】:
感谢 Jasper Rest API,我目前正在尝试运行报告并获取输出 (PDF),文档的有趣部分是 here
所以我尝试了这个:http://localhost:8080/jasperserver/rest/report/reports/samples/report_mongodb_new_basic
知道我的报告在报告/样本中,其资源 ID 为:report_mongodb_new_basic
所以我仍然尝试使用 nodejs 运行它,这是我的代码: (请求是一个可用的nodejs模块here)
登录:
var request = require("request");
request.post({url: "http://localhost:8080/jasperserver/rest/login",
qs: {j_username: "jasperadmin", j_password: "jasperadmin"}},
function(err, res, body) {
if(err) {
return console.error(err);
}
登录后,如文档所示,我需要执行 PUT 请求来运行报告:
request.put("http://localhost:8080/jasperserver/rest
/report/reports/samples/report_mongodb_new_basic")
这当然是行不通的,即使我直接在这个网址上使用 火狐,上面写着
"Report not found (uuid not found in session)"
由于这个 PUT 请求应该创建 uuid
那么,获取 uuid 并在可能的情况下使用 get 获取 pdf 的 URL 的良好语法和 PUT 请求的良好语法是什么?
【问题讨论】:
-
您是否在第一个请求回调的正文中发出
request.put调用? -
老实说,我不知道回调是什么,但我想你会问我是否将
request.put放在request.post中(就像这样:request.post(.... request.put() )答案是肯定的,但是没有改变任何东西,我认为我的问题出在 URL 上 -
我现在知道什么是回调,是的,我在第一个请求回调的主体中调用 request.put
标签: node.js rest report jasperserver