通常,spring 将为路径不匹配的请求映射返回 404 响应,如果路径匹配但“Accept”标头不匹配,则返回 406。
我有一个默认控制器,它充当“包罗万象”,通过以Accept
ed 格式返回故障来处理其余故障。控制器的形式为:
@Controller
public class DefaultController {
@RequestMapping("/**")
public void unmappedRequest(HtpServletRequest req) {
throw new ResourceNotFoundException();
}
}
麻烦的是,如果我在这里得到匹配,我无法判断它是否在其他地方匹配。我想将正确的错误返回给客户端,并告诉Accept
他们可以重试的类型。目前我所能做的就是抛出一个一般ResourceNotFound
异常。
这是我可以做的事情@Controller
还是我需要为此编写某种过滤器链?
FWIW 我正在使用Stormpath 演示的 ReST 异常处理模式