Hybris中的异常处理
我正在尝试创建一个新的过滤器,其中在Hybris中的异常处理,hybris,Hybris,我正在尝试创建一个新的过滤器,其中在doFilter方法的主体中抛出一个AuthenticationException public void doFilter(...){ if( something ) { throw new AuthenticationException("..."); } } 如果引发异常,我如何处理此异常以避免storefront的服务器错误?Spring中是否有类似于@ControllerAdvice
doFilter
方法的主体中抛出一个AuthenticationException
public void doFilter(...){
if( something )
{
throw new AuthenticationException("...");
}
}
如果引发异常,我如何处理此异常以避免storefront的
服务器错误
?Spring中是否有类似于@ControllerAdvice
的内容?您需要设置响应http状态,而不是返回异常
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
final HttpServletResponse httpServletResponse = (HttpServletResponse) servletResponse;
httpServletResponse.setStatus(401);
httpServletResponse.sendError(401);
httpServletResponse.getWriter().write("401 Authentication needed");
}
只是为了说明这一点,在Spring项目中有多种可能如何进行“异常处理”。这里有一个来自baeldung的关于不同解决方案的非常好的文档 现在你问清楚“最好的是在海布里斯”。我想说没有。Hybris只抛出异常。请查看在
BaseSiteCheckFilter
中抛出的BaseSiteMismatchException
。现在由你决定是否以及如何处理这些问题
但主要的问题是,为什么要在这里使用异常?将响应状态设置为
401
?您使用的是哪个Hybris版本?