由于@RestController是组成@Controller和@ResponseBody,我相信如果我想我的控制器工作既是MVC和REST控制器只是标注@RestController应该罚款。那是对的吗?
@RestController
@Controller
@ResponseBody
由于@RestController是组成@Controller和@ResponseBody,我认为它在内部表示,这是很好的
@ResponseBody,
@RestController并不意味着用于返回要解决的视图。应该返回要写入响应主体的数据,因此包含@ResponseBody。@ResponseBody当@ResponseBody已经在类级别注释时,您不能有选择地禁用单个处理程序方法上的on。
您可以通过返回来解决它ModelAndView,即使在中也可以使用@RestController,但是您 实际上不应该这样做 :
ModelAndView
@RequestMapping public ModelAndView renderFooList() { ModelAndView mav = new ModelAndView("foo/list"); mav.addObject("foos", fooService.getFoos()); return mav; }
最好为返回视图的普通处理程序创建单独的控制器,并为RESTful材质创建REST控制器。或者用普通注释类,@Controller并@ResponseBody在实际需要的地方放置方法。