在一个端点返回多个函数 - Spring

时间:2018-02-04 21:00:24

标签: java spring spring-boot

我有一个Spring应用程序,在我的服务中我有几个功能:

public double[] CalculateStatistics();
public Double CalculateImprovement();
public int[] AverageAge();
public Double topScore();

在ServiceImpl中,我有计算。 我需要的是,有一个名为/ statistics的端点。 并返回我在这些函数中计算的所有内容。 那么我可以对它进行Ajax调用,并且如果有变化,则每隔几秒检索一次这些数据。

  @RequestMapping(value="statistics",method=RequestMethod.GET)

我该怎么做?考虑到某些函数返回一个数组,一些数字。 什么是最好的使用方法?我只是开始学习Spring和Java,所以感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

创建一个包含所有必要信息的对象。

@Data // Lombok annotation to generate all boilerplate code.
class Staticistic {
    private double[] statistics; // to store CalculateStatistics() result
    private double improvements; // to store CalculateImprovement() result
    private int[] averageAge;    // to store AverageAge() result
    private double topScore;     // to store topScore()
}

@RequestMapping(value="statistics",method=RequestMethod.GET)
public ResponseEntity<Statistic> getStats() {
    ... your implementation ...
}

您还可以返回简单的地图并根据需要设置所有键。但最好是创建一个对象来存储所有这些变量。