【发布时间】:2019-12-05 09:27:05
【问题描述】:
我有以下控制器。
@Controller
public 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.RELEASE] 在 org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1116) ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE] 在 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1055) ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE] 在 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE] 在 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE] 在 org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897) ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE] 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:645) ~[javax.servlet-api-4.0.1.jar:4.0.1] 在 org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEAS
但是当我将控制器方法更改为以下时,我没有收到任何错误:- 为什么?
@RequestMapping("/home")
//@ResponseBody // commented
public ResponseEntity<User> home(){
User u = new User();
u.setUserId(10);
u.setUserName("Raj");
return ResponseEntity.ok(u);
}
【问题讨论】:
标签: java spring spring-boot spring-mvc