【问题标题】:How to bind multiple object and pass to Angular 9 frontend from Springboot2 backend如何绑定多个对象并从 Springboot2 后端传递到 Angular 9 前端
【发布时间】:2020-08-26 19:50:24
【问题描述】:

我有一个 DailyStat 类型的数组列表和一个名为 GoldenRatio 的对象,它们需要从 Springboot2 后端传递到 Angular 9 前端。如何从后端设置请求正文以及如何在 Angular 9 中读取数据?

toString 结构示例:

DailyStat [date=20200504, dayOpen=1.09481, dayHigh=1.097785, dayLow=1.097225, dayClose=0.0, dayRange=5.60000000000116E-4, threeDaysAverage=0.0010216666666666649, oneEightDiff=1.277083333333331E-4, oneQuarter=1.0950654166666667, oneEight=1.0949377083333334, negativeOneQuarter=1.0945545833333334, negativeOneEight=1.0946822916666668]
DailyStat [date=20200505, dayOpen=1.091245, dayHigh=1.09261, dayLow=1.091185, dayClose=0.0, dayRange=0.0014250000000000096, threeDaysAverage=0.0010416666666667035, oneEightDiff=1.3020833333333794E-4, oneQuarter=1.091505416666667, oneEight=1.0913752083333335, negativeOneQuarter=1.0909845833333331, negativeOneEight=1.0911147916666666]
DailyStat [date=20200506, dayOpen=1.083305, dayHigh=1.08457, dayLow=1.08435, dayClose=0.0, dayRange=2.20000000000109E-4, threeDaysAverage=0.0013166666666667066, oneEightDiff=1.6458333333333833E-4, oneQuarter=1.0836341666666665, oneEight=1.0834695833333332, negativeOneQuarter=1.0829758333333335, negativeOneEight=1.0831404166666667]
DailyStat [date=20200507, dayOpen=1.07957, dayHigh=1.081645, dayLow=1.080365, dayClose=0.0, dayRange=0.0012799999999999478, threeDaysAverage=7.350000000000781E-4, oneEightDiff=9.187500000000977E-5, oneQuarter=1.07975375, oneEight=1.079661875, negativeOneQuarter=1.0793862499999998, negativeOneEight=1.0794781249999998]
DailyStat [date=20200508, dayOpen=1.08451, dayHigh=1.085495, dayLow=1.084885, dayClose=0.0, dayRange=6.099999999999994E-4, threeDaysAverage=9.750000000000222E-4, oneEightDiff=1.2187500000000277E-4, oneQuarter=1.0847537500000002, oneEight=1.0846318750000001, negativeOneQuarter=1.08426625, negativeOneEight=1.084388125]
GoldenRatio [weekDiff=5.60000000000116E-4, weekHigh=1.097785, weekLow=1.097225, wh0200=1.097673, wh0250=1.097645, wh0333=1.09759852

示例代码:

    @RequestMapping(value = "indicator", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
    public @ResponseBody ResponseEntity<GoldenRatio> getRatioData(@RequestParam("fromDate") String fromDate, 
                                              @RequestParam("toDate") String toDate, 
                                              @RequestParam("interval") String interval) {

        GoldenRatio gr = new GoldenRatio();
        List<DailyStat> weeklyStat = new ArrayList<DailyStat>();
...

        return ResponseEntity.ok().body(gr);
    }

【问题讨论】:

标签: html angular spring-boot


【解决方案1】:

您只能从 Spring 控制器返回单个对象,并且您只能在 Angular 端接收单个对象。

也就是说,Spring 和 Angular 之间通信的单个对象可以是任意复杂的。

在您的情况下,答案是创建另一个包含您要返回的两个项目的类,然后将其返回。

您需要在 Angular 中使用类似的接口或类才能反序列化结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-18
    • 2021-07-05
    • 1970-01-01
    相关资源
    最近更新 更多