我在post请求中发送Protocol Buffer对象,但另一方面我无法获取对象,因为生成的类(Protocol Buffer)没有空构造函数。所以它无法构造@ModelAttribute。
@RequestMapping(value = "/path", method = RequestMethod.POST)
public string saveInvoice(@ModelAttribute(value = "person") ModelProtos.Person person) {
...
}
有什么建议吗?
注意我能够返回Protocol Buffer对象。
答案 0 :(得分:1)
要转换正文,您需要使用@RequestBody
,这也是使用HttpMessageConverter
的机制。
@ModelAttribute
适用于提交常规表单或请求参数并希望将其绑定到对象的情况。
关于此问题还有一个blog entry,虽然有点过时,因为它没有使用自动配置,而是"手册"但仍然提供信息。