코드는 다음과 같다 : 나는 컬 시도 -H "수락 : 응용 프로그램/JSON을"ExceptionHandler는 스프링 MVC에서 작동하지 JSON 또는 XML을 반환하는 3
@Controller
public class TestController {
@RequestMapping(value = "/testerror", method = RequestMethod.GET)
public @ResponseBody ErrorTO testerror(HttpServletRequest request,HttpServletResponse response) {
throw new ABCException("serious error!");
}
@ExceptionHandler(ABCException.class)
public @ResponseBody ErrorTO handleException(ABCException ex,
HttpServletRequest request, HttpServletResponse response) {
response.setStatus(response.SC_BAD_REQUEST);
return new ErrorTO(ex.getMessage());
}
@RequestMapping(value = "/test", method = RequestMethod.GET)
public @ResponseBody ErrorTO test(HttpServletRequest request,
HttpServletResponse response) {
ErrorTO error = new ErrorTO();
error.setCode(-12345);
error.setMessage("this is a test error.");
return error;
}
}
-v "http://localhost.com : 8080/testerror " org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver - 반환 유형 [class com.kibboko.poprocks.appservices.dtos.ErrorTO] 및 [application]을 지원하는 HttpMessageConverter를 찾을 수 없습니다./json]
하지만 내가 curl -H를 사용하면 "Accept : application/json"-v "http://localhost.com:8080/test"가 작동하고 반환 된 json 응답. "application/xml"도 효과가있었습니다.
json 또는 xml과 함께 사용할 수 있도록 처리해야하는 예외 처리기에는 특별한 것이 있습니까? 감사!
합니다. 더 간단한 해결책을 찾는 것이 가능합니까? 실례를 들어 주시겠습니까? – Bobo
@ 보보 : 당신의 맥락에서 콩을 선언하려 했습니까? 그것은 잘 작동합니다. – axtavt
@axtavt : 죄송합니다. 스프링 랜드의 진정한 초심자입니다. "bean을 당신의 상황에서 선언하라"는 것은 스프링 설정 파일에서 그것을 선언하는 것을 의미합니까? – Bobo