Controller 层中,到底是 返回界面 还是JSON?

前提:Controller 层上面的注解是@Controller;如果是@RestController 情况就不同了

讨论:返回json 数据 还是view视图?
结论

    1. 不使用@ResponseBody 注解在方法上,返回的是String对象,那么展示的内容要到指定界面上。
  • 2.使用@ResponseBody 注解在方法上,返回的是JSON对象,那么展示的内容便是json字符串。
  • 3.使用@ResponseBody 注解在方法上,返回的对象是ModelAndView (显示界面),那么展示的内容要到指定界面上。

代码示例如下:


// 返回界面
@GetMapping("/index")
public String index1() {
return "index";
}

// 返回json对象
@ResponseBody
@GetMapping("/json")
public String json() {
return "json";
}

// 返回界面 或json
// 如果用到@ResponseBody 还想返回视图,那必须要用 ModelAndView 对象
@ResponseBody
@GetMapping("/json")
public Object view(boolean is) {
if(is){
ModelAndView mv=new ModelAndView();
mv.setViewName("/index");
return mv;
}
return "json";
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容