2011-02-15 99 views
0

我正在研究簡單的Spring-MVC應用程序,並且我喜歡新的Spring REST功能。我想用同樣的方法處理常規表單和JSON數據。但是,這似乎有點棘手。例如,方法使用Spring MVC處理JSON和表單數據請求

 
public @ResponseBody String process(@RequestBody Bean bean); 

將爲JSON請求工作(內容 - 類型:application/JSON),和

 
public @ResponseBody String process(Bean bean); 

將匹配內容類型請求:應用/ X WWW的形狀配合url編碼。

這些方法顯然會有幾乎相同的內容,所以我寧願避免這種重複。使用Jersey可以使用@Consumes註釋,但我無法弄清楚如何使用Spring來完成。

+0

什麼是對這些方法的返回類型?我以爲你需要在@ResponseBody註解之後指定一個「類型」,或者至少是無效的? – nickdos 2011-02-15 23:32:29

+0

哦,對不起遺漏的退貨類型。事實上,它們是無關緊要的。看來,Spring通過參數匹配請求。 – rsvato 2011-02-16 09:23:54

回答

0

首先,上面的聲明不會編譯,因爲你有重複的簽名。

順便說一句,@Consumes沒有幫助,我認爲,因爲它只指定該方法可以處理的內容類型。

在春天,你可以指定內容類型與

@RequestMapping(headers="Content-Type=application/json")