클래스 계층 구조가 있습니다. 그 위에 추상 AnswerUnit 클래스가 있습니다. OpenQuestionAnswer와 MultipleChoiceQuestionAnswer라는 두 개의 상속 클래스가 있습니다.@ResponseBody + 상속의 Spring MVC + JSON
데이터 (JSON에 직렬화 된 개체)를 AJAX 요청과 함께 서버로 보내고이를 처리 할 컨트롤러의 메서드를 보내는 .jsp 폼이 있습니다.
@RequestMapping(value = "/test", method = RequestMethod.POST)
public @ResponseBody
String testPostMethod(@RequestBody
OpenQuestionAnswer answer) {
return "home";
}
내가 인수로 "AnswerUnit 대답은"취할 수 있도록하고 싶습니다 (대신 구체적인 유형의 추상 형식을, 그래서 하나의 방법으로 다른 관점에서 요청을 처리 할 수있다). 나는 문제가 그것을 할 때 - 서버 respose 나는 이유는 봄 (? 잭슨은) 그가 만들어 사용한다 콘크리트하는 클래스를 찾을 수 없습니다 있다는 것을 생각
400 BAD REQUEST he request sent by the client was syntactically incorrect.
입니다 . 클라이언트 측에서는 서버에 보내는 클래스 유형을 알고 있습니다. 서버에 구체적인 클래스를 만들어서 요청으로 채워야한다고 알리는 올바른 방법은 무엇입니까?
예제에서 구체적인 유형을 보여 줬습니다 - OpenQuestionAnswer' 구체적인 유형을 가지고도이 오류가 발생합니까? 로그 레벨을 DEBUG로 낮추고 다른 메시지가 나타나는지 확인할 수 있습니까? –
분명한 것처럼 보이지만 JSON POST (코드가 표시되지 않는다고 가정 할 수 없음)에서 구체적인 클래스에 대한 메소드를 참조하고 있습니까? 상속을 포기하고 대신 컴포지션을 사용해야 할 수도 있습니다 (http://stackoverflow.com/questions/2399544/difference-between-inheritance-and-composition) – nickdos