协议缓冲区 - @ModelAttribute

时间:2016-05-31 17:00:21

标签: java spring-boot protocol-buffers

我在post请求中发送Protocol Buffer对象,但另一方面我无法获取对象,因为生成的类(Protocol Buffer)没有空构造函数。所以它无法构造@ModelAttribute。

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

有什么建议吗?

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

1 个答案:

答案 0 :(得分:1)

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

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

关于此问题还有一个blog entry,虽然有点过时,因为它没有使用自动配置,而是"手册"但仍然提供信息。