Java Spring引导Rest控制器:在返回类型中添加文本

Java Spring引导Rest控制器:在返回类型中添加文本,java,json,spring-boot,datatable,restful-architecture,Java,Json,Spring Boot,Datatable,Restful Architecture,我有一个SpringBoot应用程序。使用rest控制器 @RestController @RequestMapping("/api/aggreg") public class AggregRestController { @GetMapping("/list") public List<AggregCalcTrainsXCompany> aggregList () throws IOException, URISyntaxException,

我有一个SpringBoot应用程序。使用rest控制器

@RestController
@RequestMapping("/api/aggreg")
public class AggregRestController  {

@GetMapping("/list")
    public List<AggregCalcTrainsXCompany> aggregList  ()
            throws IOException, URISyntaxException, DataAccessException, SQLException {

        return aggregService.findAll();
    }
}
最后要使它工作,但我不知道这是否可行

您有两个选择:

  • 使用
    数据
    字段将列表包装到类中并返回:

    class Result {
        List<AggregCalcTrainsXCompany> data;
    }
    
    类结果{
    列出数据;
    }
    
  • (如注释所示)返回
    Map


  • 正如我所评论的,您只需要返回一个
    映射
    ,而不是
    列表

    @RestController
    @请求映射(“/api/aggreg”)
    公共类聚集控制器{
    @GetMapping(“/list”)
    公共地图聚集列表()
    抛出IOException、URISyntaxException、DataAccessException、SQLException{
    Map m=新的HashMap();
    m、 put(“data”,aggregService.findAll());
    返回m;
    }
    }
    
    映射将序列化为

    {
       "data" : <here the result from your aggregtation> 
    }
    
    {
    “数据”:
    }
    
    使用
    Map
    作为返回类型,并在方法中实例化
    HashMap
    ,将aggregService.findAll()与“data”键相关联。然后返回地图。@MarcTarin,请转换为回答。。。。
    @RestController
    @RequestMapping("/api/aggreg")
    public class AggregRestController  {
    
        @GetMapping("/list")
        public Map<String, List<AggregCalcTrainsXCompany>> aggregList  ()
                throws IOException, URISyntaxException, DataAccessException, SQLException {
            Map<String, List<AggregCalcTrainsXCompany>> m = new HashMap<>();
            m.put("data", aggregService.findAll());
    
            return m;
        }
    }
    
    {
       "data" : <here the result from your aggregtation> 
    }