是否可以从SpagoBI中的REST API获取数据?

时间:2015-05-06 09:36:00

标签: spagobi

我尝试将Tuleap REST API与SpagoBI一起使用,但无法找到任何信息。

那么,是否可以从SpagoBI中的REST API获取数据?

感谢您的回答,

桑德拉

2 个答案:

答案 0 :(得分:0)

是的,有可能。我花了一段时间试图让这个工作。 以下是与我合作的技术链接。

简而言之: 我使用的是脚本数据集,Groovy语言和Groovy WSLite Web服务库。这需要更新SpagoBI附带的Groovy版本并放入Groovy WSLite库。

  1. Groovy脚本检索传递的所有参数
  2. 使用参数
  3. 进行Web服务调用
  4. 解析结果
  5. 以SpagoBI的DataSet XML格式创建输出
  6. SpagoBI DataSet REST Webservice via Groovy

    //Sample code: Using Groovy and Groovy WSLite to call a RESTful web service
    //Then, the response is parsed and returned in SpagoBI DataSet's XML format
    import wslite.rest.*
    
    def param_ip  = parameters['param_ip'] ?: ''
    
    def client = new RESTClient("http://ip-api.com/json/${param_ip.toString()}")
    def response = client.get()    
    assert response.statusCode == 200    
    def str = response.json
    
    """
    <ROWS>
        <ROW
            params="${parameters['param_ip'].toString()}" 
            status="${str.status.toString()}"
            country="${str.country.toString()}"
            countryCode="${str.countryCode.toString()}"
            region="${str.region.toString()}"
            regionName="${str.regionName.toString()}"
            city="${str.city.toString()}"
            zip="${str.zip.toString()}"
            lat="${str.lat.toString()}"
            lon="${str.lon.toString()}"
            timezone="${str.timezone.toString()}"
            isp="${str.isp.toString()}"
            org="${str.org.toString()}"
            as="${str.as.toString()}"
        />
    </ROWS>
    """.toString()
    

答案 1 :(得分:0)

可以使用REST 2.0 API,但您必须拥有SpagoBI的FIWARE版本。 版本是相同的,FIWARE有REST API服务。

检查此链接:

http://catalogue.fiware.org/enablers/data-visualization-spagobi/documentation

和蜂房: http://docs.spagobi.apiary.io/#reference/0/the-content-subresource/return-the-document-content