如何在Spring Boot中从单个控制器返回内容数据和页面名称

时间:2018-11-30 02:28:36

标签: java spring-boot spring-restcontroller

我正在用Spring Boot做一个项目。完成所有API部分并转到前端部分后,我意识到带注释的@RestController控制器只能返回数据,而不能返回页面名称。我有一个解决方案,可以创建带有@Controller注释的另一个控制器,并在页面加载时使用Javascript提取API数据。没关系,但这需要我为我的每个实体创建一组URL和控制器,这听起来不必要地浪费时间。 有没有办法从@RestController一起返回页面名称和JSON数据?就像Django和laravels中一样。

1 个答案:

答案 0 :(得分:1)

您可以尝试将控制器数据包装在特定对象中,例如

abstract class AbstractResponse {
    String pageName;
}

class MyResponse extends  AbstractResponse{
    String field1;
    String field2;
    String field3;
    String field4;
}

什么会给你类似json

{
  "field1": "",
  "field2": "",
  "field3": "",
  "field4": "",
  "pageName": ""
}

或者使用诸如本文中讨论的modelAndView概念 Returning view from Spring MVC @RestController