我使用Spring Boot作为一个简单的REST API,并希望在出现故障时返回正确的HTTP状态代码 .
@RequestMapping(value="/rawdata/", method = RequestMethod.PUT)
@ResponseBody
@ResponseStatus( HttpStatus.OK )
public RestModel create(@RequestBody String data) {
// code ommitted..
// how do i return a correct status code if something fails?
}
作为Spring和Spring Boot的新手,基本的问题是,当某些东西正常或失败时,我如何返回不同的状态代码?
3 回答
您可以使用多种选项 . 相当不错的方法是使用异常和类来处理名为
@ControllerAdvice
的处理:您也可以将
HttpServletResponse
传递给控制器方法,只需设置响应代码:有关详细信息,请参阅精彩的博文:http://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc
注意:在Spring Boot中使用
@ResponseBody
注释是多余的 - 它包含在@RestController
中其中一种方法是使用ResponseEntity作为返回对象 .
试试这段代码: