Spring restTemplate.postForEntity(或postForObject)在Stand alone Java应用程序中给出错误“no suitable HttpMessageConverter”

时间:2012-06-21 14:22:24

标签: web-services spring rest resttemplate

我在Spring 3.0中独立使用Java Application。我用4个整数参数调用REST服务“post”方法调用。在调用restTemplate.postForEntity()时,我收到错误“找不到适合请求类型的HttpMessageConverter”。是否需要在restTemplate中设置任何messageConverter?我没有在网上找到任何样品。

2 个答案:

答案 0 :(得分:4)

好笑,我刚回答similar question ...

尽管如此,您可能需要查看精彩的Spring参考手册,特别是this fragmentdocumentationIBM Dev blog postRestTemplate example on SpringSource Blog(在何时写)。

来自SpringSource博客文章:

  

HttpMessageConverters

     

传递给方法并从方法返回的对象   getForObject(),postForLocation()和put()并转换为HTTP   请求和来自HttpMessageConverters的HTTP响应。转换器   对于主要的mime类型和Java类型是默认注册的,但是   您也可以编写自己的转换器并将其插入RestTemplate。

此外,IBM blog post here提到了常见的HttpMessageConverter实现,您可能会使用Marshalling(XML中的响应)或MappingJackson(针对JSON)。

答案 1 :(得分:1)

您调用的REST服务最有可能失败,postForObject()返回null。您需要使用ResponseErrorHandler实现来检查错误。