6
我使用Spring 3.0創建了一個RESTful網站。我正在使用ContentNegotiatingViewResolver
以及HTTP消息轉換器(例如,針對JSON的MappingJacksonHttpMessageConverter
,針對XML的MarshallingHttpMessageConverter
等)。如果我在URL的最後一個URL中使用.xml後綴,並且在URL中使用帶有.json後綴的JSON,我能夠成功獲取XML內容。Spring REST控制器中帶有RequestBody的XML/JSON POST
從控制器獲取XML/JSON內容對我來說不會產生任何問題。但是,如何在同一個Controller方法中將請求主體的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);
}
感謝reply.I」我會盡快回復你:) –
Stoffer,我已經試過了,你已經回答了。但是當我試圖在請求體內將任何 XML/JSON內容張貼到控制器方法。我是從那裏得到異常 即 ** HTTP狀態400 - 內容類型「文本/純;字符集= UTF-8」不支持** 是因爲我使用既ContentNegotiatingViewResolver和 HTTP消息轉換器??或者有其他原因。 –
Spring中的轉換器註冊了某些內容類型(用於請求主體)並接受(用於響應)。對於json,它是'application/json'和其他一些。對於XML,它是'application/xml'和其他一些。確保你的客戶端發送'content-type:application/json'和'accept:application/json'並且它會工作。 –