您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Spring Boot Rest Controller如何返回不同的HTTP状态代码?

Spring Boot Rest Controller如何返回不同的HTTP状态代码?

您可以使用几个选项。很好的方法是使用异常和类进行处理@ControllerAdvice

@ControllerAdvice
class GlobalControllerExceptionHandler {
    @ResponseStatus(HttpStatus.CONFLICT)  // 409
    @ExceptionHandler(DataIntegrityViolationException.class)
    public void handleConflict() {
        // Nothing to do
    }
}

您也可以传递HttpServletResponse给控制器方法,并设置响应代码

public RestModel create(@RequestBody String data, HttpServletResponse response) {
    // response committed...
    response.setStatus(HttpServletResponse.SC_ACCEPTED);
}

有关详细信息,请参阅此出色的博客文章 Spring MVC中的异常处理

在Spring MVC中,使用@ResponseBody注释是多余的- 它已包含在@RestController注释中。

Java 2022/1/1 18:13:39 有612人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶