第1章 概述

  SaCa DataViz提供多种数据源的接入,Rest数据源就是其中的一种。Rest数据源要求接口返回的数据为Json格式的列表数据, 具体格式参考如下:

 [{
     "orderId": "2016010313265448",
     "orderDate": "2016-01-03",
     "category": "食品",
     "goods": "面包",
     "count": 2,
     "cost": 2.8,
     "payment": 8.8,
     "buyer": "徐先生",
     "province": "江西省",
     "city": "南昌市"
 }, {
     "orderId": "2016011352714789",
     "orderDate": "2016-01-13",
     "category": "服装",
     "goods": "男士T恤",
     "count": 1,
     "cost": 41.0,
     "payment": 180.0,
     "buyer": "胡先生",
     "province": "辽宁省",
     "city": "大连市"
 }]

  但是往往实际的接口返回的数据并不是这种格式,这是就需要对Rest数据解析的方法进行扩展。

第2章 数据解析扩展方法

  我们提供了一个数据解析接口,需要依据此接口进行扩展:

package com.neusoft.saca.dataviz.dataquery.execute.impl.other;

import java.util.List;
import java.util.Map;
/**
 * 
 * @author ch-zhuo
 *
 */
public interface ParseDataHandler {
    /**
     * 解析接口返回数据
     * 
     * @param result
     * @return
     */
    public List<Map<String, Object>> getDataList(String result);
}

  接口只有一个getDataList方法,此接口的入参为rest接口的返回值,即:Json格式的数据,getDataList返回值为一个单纯的列表数据。

  根据rest接口的实际情况不同,实现类有两种使用方法:

  1. 如果有多个Rest数据源,并且这些rest接口的返回值格式是相同的,或者绝大部分相同。

  找到dataviz-service\WEB-INF\lib\dataviz-lib-query.jar,用压缩工具打开此jar,修改data-parse-config.properties文件,如下图: 0 修改第2行的内容,替换为自己实现的解析类的全限定名。替换后,Rest数据源就会把你实现的类作为默认的数据解析方法。

 dataParse.odata=com.neusoft.saca.dataviz.dataquery.execute.impl.other.ODataParseDataHandler
 dataParse.rest=com.neusoft.saca.dataviz.dataquery.execute.impl.other.RestParseDataHandler
  1. 如果只有一个或几个Rest数据源,并且这些rest接口返回的数据局格式都是不同的。

  在进行Rest数据源维护是,勾选“另指定数据解析类”,并填写类的全限定名,这个Rest数据源在解析数据时就会使用指定的类进行解析,而不是用默认的解析方法了。如下图: 1

results matching ""

    No results matching ""

    results matching ""

      No results matching ""