【发布时间】:2014-12-01 09:51:48
【问题描述】:
当我使用 spring mvc 时,我不使用 raw HttpServletRequest。而不是这个,我使用Model。
有没有类似的方法可以避免使用HttpServletResponse?
【问题讨论】:
标签: java spring-mvc servlets model httpresponse
当我使用 spring mvc 时,我不使用 raw HttpServletRequest。而不是这个,我使用Model。
有没有类似的方法可以避免使用HttpServletResponse?
【问题讨论】:
标签: java spring-mvc servlets model httpresponse
我不确定我是否明白你的问题。
Spring MVC 会从控制器方法返回的任何内容以及异常处理程序(如果该方法引发业务异常)、拦截器、HttpMessageConverters 等中派生 HttpServletResponse。也许 Spring MVC 参考文档的一半涉及到这一点。
也许看看supported method return types in Controllers 会回答你的问题?
此外,您的 Controller 方法可以返回 ResponseEntity<?> 类型,您可以像这样使用它:
@Controller
public class MyController {
@RequestMapping("/test")
public ResponseEntity<String> test() {
return ResponseEntity.status(HttpStatus.OK).header("X-Foo", "Bar").body("Hello World!");
}
@RequestMapping(value= "/other", produces = "application/json")
public ResponseEntity<User> other() {
User user = new User("firstName", "lastName");
// here, Spring MVC will use a configured HttpMessageConverter to convert your model
// instance to JSON, for example
return ResponseEntity.status(HttpStatus.OK).body(user);
}
}
【讨论】: