后端
前端
原因:@Controller不能将返回的对象转换为json或者xml数据
将@Controller换成@RestController
成功返回响应数据
-
Controller, RestController的共同点
都是用来表示Spring某个类的是否可以接收HTTP请求。 -
Controller, RestController的不同点
@Controller:标识一个Spring类是Spring MVC controller处理器@RestController:@RestController是@Controller和@ResponseBody的结合体,两个标注合并起来的作用。@Controller类中的方法可以直接通过返回String跳转到jsp、ftl、html等模版页面。在方法上加@ResponseBody注解,也可以返回实体对象。@RestController类中的所有方法只能返回String、Object、Json等实体对象,不能跳转到模版页面。
@ResponseBody的作用其实是将java对象转为json格式的数据。
@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。