스프링 3.0으로 RESTful 웹 사이트를 만들고있다. ContentNegotiatingViewResolver
과 HTTP 메시지 변환기 (JSON의 경우 MappingJacksonHttpMessageConverter
, XML의 경우 MarshallingHttpMessageConverter
등)를 사용하고 있습니다. 마지막 URL에서 .xml 접미사를 사용하고 JSON의 경우 URL에서 .json 접미사를 사용하면 XML 콘텐츠를 성공적으로 가져올 수 있습니다.스프링 REST 컨트롤러에서 RequestBody가있는 XML/JSON POST
컨트롤러에서 XML/JSON 컨텐츠를 가져 오는 것이 어떤 문제도 일으키지 않습니다. 하지만 동일한 컨트롤러 메소드에서 요청 본문을 사용하여 XML/JSON을 POST 할 수 있습니까?
예 :
@RequestMapping(method=RequestMethod.POST, value="/addEmployee")
public ModelAndView addEmployee(@RequestBody Employee e) {
employeeDao.add(e);
return new ModelAndView(XML_VIEW_NAME, "object", e);
}
감사합니다 '직원이 반환되는 것입니다 경우이 같은 방법 정의 및 구현 (주 테스트되지 않음)를 사용하는 경우, 봄과 MappingJacksonHttpMessageConverter는 JSON로 직원 개체를 변환합니다 자동 이걸 다시 시도해 보자. :) –
Stoffer, 나는 길을 시도했다. 당신은 대답했다. 하지만 whn 나는 모든 POST 요청을 요청한 몸체에서 컨트롤러 메소드로 XML/JSON 컨텐츠를 POST하려고했습니다. 나는 거기에서 예외 을 얻고있다 즉 ** HTTP 상태 400 - 콘텐츠 유형 '텍스트/일반; 문자셋 = UTF-8'** 난에 ContentNegotiatingViewResolver 및 의 HTTP 메시지 된 컨버터를 모두 사용하고 있기 때문에인가를 지원하지 않습니다 ?? 아니면 뒤에 다른 이유가 있습니다. –
Spring의 변환기는 특정 내용 유형 (요청 본문 용) 및 승인 (응답 용)을 등록합니다. json의 경우'application/json'과 다른 것들이 있습니다. XML의 경우'application/xml'과 다른 것들입니다. 클라이언트가'content-type : application/json'과'accept : application/json'을 전송하는지 확인하십시오. –