Интегрируйте AmChart с Java и Angular для построения свечного графика - PullRequest
0 голосов
/ 05 мая 2020

Я попытался интегрировать AmChart с Angular в качестве внешнего интерфейса и Java Spring в качестве внутреннего интерфейса. Имеется строка формата JSON из Java, служащая источником данных для построения графика свечей с помощью AmChart. Как передать данные формата JSON из Interactive Broker API во внешний интерфейс? С приведенным ниже кодом страница возвращает 'Невозможно загрузить файл: http://localhost: 8080 / api / Candlestick / '

Частичный код AmChart:

      // Load data
      chart.dataSource.url = "http://localhost:8080/api/candlestick/";
      chart.dataSource.parser = new am4core.JSONParser;

Исторический выборка данных из IB API:

    @Override
    public void historicalData(int reqId, Bar bar) {
        //System.out.println("Time: "+bar.time()+" Open: "+bar.open()+" Close: "+bar.close()+" High: "+bar.high()+" Low: "+bar.low()+" Volume: "+bar.volume());

        OHLC ohlc = new OHLC();
        ohlc.setDate(bar.time());
        ohlc.setOpen(bar.open());
        ohlc.setHigh(bar.high());
        ohlc.setLow(bar.low());
        ohlc.setClose(bar.close());
        ohlc.setVolume(bar.volume());

        Gson gson = new Gson();    
        String json = gson.toJson(ohlc);
        System.out.println(json);  
        EmployeeController.getAllPlot(json);
    }

Здесь находится контроллер Rest:

@RestController 
@CrossOrigin(origins = "http://localhost:4200")
@RequestMapping("/api")
public class EmployeeController {
    @Autowired
    private EmployeeRepository employeeRepository;

    @GetMapping("/candlestick")
    public static String getAllPlot(String json) {      
        return json;
    }
...