当我使用spring mvc时,我不使用raw HttpServletRequest
。而不是我使用Model
。
是否有类似的方法可以避免使用HttpServletResponse
?
答案 0 :(得分:0)
我不确定我是否收到你的问题。
Spring MVC从您的控制器方法返回的任何内容派生HttpServletResponse,以及异常处理程序(如果该方法抛出了业务异常),拦截器,HttpMessageConverters等。可能有一半的Spring MVC参考文档处理了这个问题。 / p>
也许看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);
}
}