Я попытался интегрировать 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;
}