springboot:如何在HandlerInterceptor的预处理中返回错误状态代码

2022-09-03 04:48:53

我在Spring Boot中用于处理常见类型的请求。但是在执行时,我想在不满足条件时返回错误状态代码给用户。如果我在响应中抛出异常,则将具有所有异常堆栈。如何使用 preHandle 中的响应代码发送自定义正文作为响应HandlerInterceptorpreHandlepreHandle


答案 1

如果不满足条件,您可以使用 来设置响应状态代码并返回以停止执行。要发送自定义正文,可以使用以下方法:response.setStatus(someErrorCode)falseresponse.getWriter().write("something");

下面是完整示例。

@Override
public boolean preHandle(HttpServletRequest request,
    HttpServletResponse response, Object handler) throws Exception {

    if (conditionsNotMet()) {
        response.getWriter().write("something");
        response.setStatus(someErrorCode);

        return false;
    }

    return true;
} 

希望这有帮助。


答案 2

推荐