我在后请求中发送协议缓冲区对象,但是另一方面,由于生成的类(协议缓冲区)没有空的构造函数,因此我无法获取对象。因此它无法构造@ModelAttribute。

@RequestMapping(value = "/path", method = RequestMethod.POST)
public string saveInvoice(@ModelAttribute(value = "person") ModelProtos.Person person) {
  ...
}


有什么建议吗?

注意,我能够返回Protocol Buffer对象。

最佳答案

要转换主体,您需要使用@RequestBody,这也是使用HttpMessageConverter的机制。

@ModelAttribute适用于您提交常规表单或请求参数并将其绑定到对象的情况。

对此也有一个blog entry,尽管有些过时,因为它不使用自动配置,而是“手动”但仍可提供信息。

10-08 07:03