为了账号安全,请及时绑定邮箱和手机立即绑定

应用@ResponseBody 时出现循环视图路径错误

应用@ResponseBody 时出现循环视图路径错误

慕斯709654 2023-04-26 14:05:31
我有以下控制器。@Controllerpublic class AppController {    @RequestMapping("/home")    @ResponseBody    public User home() {        User u = new User();        u.setUserId(10);        u.setUserName("Rahul");        return u;    }}当我注释掉注释 @ResponseBody 时,调用 /home url 时出现错误。为什么?留言如下javax.servlet.ServletException:循环视图路径 [home]:将再次分派回当前处理程序 URL [/home]。检查您的 ViewResolver 设置!(提示:由于默认视图名称生成,这可能是未指定视图的结果。)在 org.springframework.web.servlet.view.InternalResourceView.prepareForRendering(InternalResourceView.java:209) ~[spring-webmvc-5.1. 4.RELEASE.jar:5.1.4.RELEASE] 在 org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:147) ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4 .RELEASE] 在 org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:316) ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE] 在 org.springframework.web .servlet.DispatcherServlet.render(DispatcherServlet.java:1370) ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4。但是当我将我的控制器方法更改为下面时,我没有收到任何错误:- 为什么? @RequestMapping("/home")//@ResponseBody // commented public ResponseEntity<User>  home(){      User u = new User();      u.setUserId(10);      u.setUserName("Raj");  return ResponseEntity.ok(u);  }
查看完整描述

1 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

如果没有@ResponseBody 或 ResponseEntity,@Controller 将无法独立工作

ResponseEntity 类似于 @ResponseBody 但具有状态和标头。

为什么我们需要 @ResponseBody ?

因为,如果您的任何请求映射方法(如 home())包含 @ResponseBody 注释,它会指示方法返回值应绑定到 Web 响应主体,如果我们不提及 @ResponseBody,则返回的对象将被视为 View 之一,ViewResolver 将开始在应用程序中寻找相应的视图。

查看完整回答
反对 回复 2023-04-26
  • 1 回答
  • 0 关注
  • 149 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信