在HttpServletResponse的春天mvc抽象中有没有?

时间:2014-12-01 09:51:48

标签: java spring-mvc servlets model httpresponse

当我使用spring mvc时,我不使用raw HttpServletRequest。而不是我使用Model

是否有类似的方法可以避免使用HttpServletResponse

1 个答案:

答案 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);
  }
}