spring mvc方法mapping的两个小问题
奇怪,如果我的方法签名这样写:
@RequestMapping(value = "/admin/blog/catalog/save", method = RequestMethod.POST, produces = "applicatoin/json;charset=UTF-8")
报错,为406 notacceptable,如果我把注解的produces属性去掉则正确,但是后台日志写的也是application/json,如下:
Written [{message=success}] as "application/json;charset=UTF-8" using [org.springframework.http.converter.json.MappingJackson2HttpMessageConverter@194bd83]
真怪!!!
另外一个:
还有一个接收参数的地方想不通,我用的ajax form提交,所以contenttype为:Content-Type:application/x-www-form-urlencoded; charset=UTF-8(由于插件限制,提交的格式不是json格式) 那么如果我加@RequestBody是后台报not support mediatype,这个我明白,后台默认注册的httpmessageconverter没有支持这个contenttype的,但是如果我加modelattribute或者干脆什么都不加像这样: public Map saveCatalog(Catalog catalog){...} 接收正常。 问题:什么都不加的时候是怎么绑定参数的,后台debug log没打!
BTW:提交的参数为form格式,即XXX:XXX