关于@RestController和@Controller

  这两天在实现返回json数据时遇到的问题,action执行完后默认从url中获取字段然后通过视图解析器去查找.jsp文件,然后显示找不到该文件。

  后来找到了原因:之前使用了注解@controller。而为了返回response对象,应使用@Restresponse。@Restresponse是spring4.0重要的一个新的改进,它继承自@Controller注解。

@RestController作用

  注解整合了@Controller和@ResponseBody。使用了这个注解的类会被看作一个controller。controller中使用@RequestMapping的方法有一个默认的@ResponseBody注解。@ResponseBody也可以加到类一级,通过继承方法一级不需要添加。

@Responsebody 作用

  该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。

使用时机

  返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用。

你可能感兴趣的:(关于@RestController和@Controller)