我在后请求中发送协议缓冲区对象,但是另一方面,由于生成的类(协议缓冲区)没有空的构造函数,因此我无法获取对象。因此它无法构造@ModelAttribute。
@RequestMapping(value = "/path", method = RequestMethod.POST)
public string saveInvoice(@ModelAttribute(value = "person") ModelProtos.Person person) {
...
}
有什么建议吗?
注意,我能够返回Protocol Buffer对象。
最佳答案
要转换主体,您需要使用@RequestBody
,这也是使用HttpMessageConverter
的机制。@ModelAttribute
适用于您提交常规表单或请求参数并将其绑定到对象的情况。
对此也有一个blog entry,尽管有些过时,因为它不使用自动配置,而是“手动”但仍可提供信息。