爲了在域對象和json對象之間進行轉換,我成功地使用了spring-mvc和json。如何用spring mvc手動使用任意json對象?
現在,我想寫一個控制器,只接受任何json,驗證它並以緊湊的可串行化形式爲服務層提供它。 (json字符串就足夠了,任何緊湊的字節數組表示更好)。我目前的計算策略是這樣的:
@RequestMapping(value="/{key}", method=RequestMethod.GET)
@ResponseBody
public Object getDocument(@PathVariable("username") String username,
@PathVariable("key") String key,
HttpServletRequest request,
HttpServletResponse response) {
LOGGER.info(createAccessLog(request));
Container doc = containerService.get(username, key);
return jacksonmapper.map(doc.getDocument(), Map.class);
}
和
@RequestMapping(value="/{key}", method=RequestMethod.PUT)
public void putDocument(@PathVariable("username") String username,
@PathVariable("key") String key,
@RequestBody Map<String,Object> document,
HttpServletRequest request,
HttpServletResponse response) {
LOGGER.info(createAccessLog(request));
containerService.createOrUpdate(username, key,document);
}
注意,這個方法是行不通的,因爲我不想在put方法和get方法返回地圖只是{「本」 :空值};。我如何配置我的方法?
乾杯,
月
Bozoho,JSON映射不是問題,但我需要什麼方法簽名來獲得我可以序列化的通用json對象?我目前只使用public void put(@RequestBody MySpecificBean bean)從JSON獲取一個bean。 – Jan 2010-12-19 17:34:01
那麼,你將如何處理任意對象? – Bozho 2010-12-19 17:49:39