Bazı basit REST servis isteklerine sahip bir Spring MVC denetleyicim var. Özel istisnalar hizmetlerimden atıldığında bazı hata işleme eklemek istiyorum, ancak aslında hiç çağrılmak üzere @ExceptionHandler ile açıklamalı bir işleyici yöntemi alamıyorum. Burada bir hizmet kasıtlı olarak devralmak için benim için bir istisna atayım. İşleyici yöntemi hiçbir zaman çağrılmaz ve Bahar, arayan istemciye 500 hata döndürür. Neyi yanlış yaptığım hakkında bir fikrin var mı?Spring MVC @ExceptionHandler yöntemi denetleyicide hiç çağrılmadı
@ExceptionHandler(IOException.class)
public ModelAndView handleIOException(IOException ex, HttpServletRequest request, HttpServletResponse response) {
response.sendError(HttpServletResponse.SC_FORBIDDEN);
System.out.println("It worked!");
return new ModelAndView();
}
@RequestMapping(value = "/json/remove-service/{id}", method = RequestMethod.DELETE)
public void remove(@PathVariable("id") Long id) throws IOException {
throw new IOException("The handler should take over from here!");
}
'AnnotationMethodHandlerExceptionResolver' artık kullanımdan kaldırılmıştır, bu nedenle bu, Spring'in daha yeni sürümlerinde yardımcı olmaz. –
Bu fasulyeyi 'p: order' özelliği ile kullanmak en büyük önceliğe ayarlandı (1) sorunumu gidermeyi başardı. – Alex
@MattFriedman Sadece 'AnnotationMethodHandlerExceptionResolver' yerine org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver' benim için çalıştı –