dha*_*ram 32 spring-mvc spring-annotations
我真的不确定使用Spring 3.2 MVC是否可行.
我的控制器有一个声明如下的方法:
@RequestMapping(method = RequestMethod.GET)
@ResponseStatus(HttpStatus.OK)
public @ResponseBody List<Foo> getAll(){
return service.getAll();
}
Run Code Online (Sandbox Code Playgroud)
问题:
@ResponseStatus(HttpStatus.OK)
?HttpStatus.OK
状态代码.小智 12
如果直接返回ResponseEntity,可以在其中设置HttpStatus:
// return with no body or headers
return new ResponseEntity<String>(HttpStatus.NOT_FOUND);
Run Code Online (Sandbox Code Playgroud)
如果要返回404以外的错误,HttpStatus还有许多其他值可供选择.
Bnr*_*rdo 10
您无法为其设置多个状态值@ResponseStatus
.我能想到的一种方法是使用@ExceptionHandler
不是的响应状态HttpStatus.OK
@RequestMapping(value = "login.htm", method = RequestMethod.POST)
@ResponseStatus(HttpStatus.OK)
public ModelAndView login(@ModelAttribute Login login) {
if(loginIsValidCondition) {
//process login
//.....
return new ModelAndView(...);
}
else{
throw new InvalidLoginException();
}
}
@ExceptionHandler(InvalidLoginException.class)
@ResponseStatus(HttpStatus.BAD_REQUEST)
public ModelAndView invalidLogin() {
//handle invalid login
//.....
return new ModelAndView(...);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
47238 次 |
最近记录: |