我在Spring Boot中使用HandlerInterceptor
来处理常见类型的请求。
但是在执行preHandle
时,如果不满足条件,我想将错误状态代码返回给用户。
如果我在preHandle
内抛出异常,则响应将包含所有异常堆栈。
如何使用preHandle的响应代码发送自定义正文作为响应
答案 0 :(得分:13)
如果不满足条件,您可以使用response.setStatus(someErrorCode)
设置响应状态代码并返回false
以停止执行。要发送自定义正文,您可以使用以下方法:response.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;
}
希望这会有所帮助。