Spring Boot Rest 控制器:在 return 类型中添加文本
Spring Boot Rest controller: adding text in the return type
我有一个 SpringBoot 应用程序。使用 RestController
@RestController
@RequestMapping("/api/aggreg")
public class AggregRestController {
@GetMapping("/list")
public List<AggregCalcTrainsXCompany> aggregList ()
throws IOException, URISyntaxException, DataAccessException, SQLException {
return aggregService.findAll();
}
}
因为我想在 DataTable ajax 调用中使用这个控制器,所以我需要在开头添加这段代码:
{
"data":
和最后的}
让它工作,但我不知道这是否可能
您有两个选择:
使用 data
字段和 return 将您的列表包装到 class 中:
class Result {
List<AggregCalcTrainsXCompany> data;
}
(如评论所建议)Return Map<String, List<AggregCalcTrainsXCompany>>
正如我评论的那样,您只需要 return 一个 Map
而不是 List<AggregCalcTrainsXCompany>
:
@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>
}
我有一个 SpringBoot 应用程序。使用 RestController
@RestController
@RequestMapping("/api/aggreg")
public class AggregRestController {
@GetMapping("/list")
public List<AggregCalcTrainsXCompany> aggregList ()
throws IOException, URISyntaxException, DataAccessException, SQLException {
return aggregService.findAll();
}
}
因为我想在 DataTable ajax 调用中使用这个控制器,所以我需要在开头添加这段代码:
{
"data":
和最后的}
让它工作,但我不知道这是否可能
您有两个选择:
使用
data
字段和 return 将您的列表包装到 class 中:class Result { List<AggregCalcTrainsXCompany> data; }
(如评论所建议)Return
Map<String, List<AggregCalcTrainsXCompany>>
正如我评论的那样,您只需要 return 一个 Map
而不是 List<AggregCalcTrainsXCompany>
:
@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>
}