org.springframework.web.clIEnt.RestClIEntException: Could not extract response: no suitable httpMessageConverter found for response type [com.package.Response] and content type [application/octet-stream]
码
发送请求:
@RestService RestClIEnt restClIEnt;... String Json = "{\"param\":3}"; restClIEnt.getRestTemplate().getMessageConverters().add(new GsonhttpMessageConverter()); Response res = restClIEnt.send(Json);
RESTClIEnt实现
@Rest("http://my-url.com") public interface RestClIEnt { @Post("/something/") Response send(String Json); RestTemplate getRestTemplate(); voID setRestTemplate(RestTemplate restTemplate); }
我正在使用这些JAR文件:
> spring-androID-rest-template-1.0.0.RC1
> spring-androID-core-1.0.0.RC1
> spring-androID-auth-1.0.0.RC1
> gson-2.2.2
我做错了什么?当我将send参数更改为JsONObject时,我得到了同样的错误.
顺便说一句. AA文档真的很神秘 – 我还能使用Gson吗?或者我应该使用杰克逊?那么我需要包含哪个文件?
谢谢你的帮助!
解决方法 您可以将RestTemplate与Gson或Jackson一起使用.Gson很好,更容易使用你有小的Json数据集.如果你有一个复杂/深的Json树,杰克逊更适合,因为Gson创造了许多临时物体,导致世界的GC停止.
这里的错误说它找不到能够解析application / octet-stream的httpMessageConverter.
如果查看GsonHttpMessageConverter的源代码,您会发现它只支持mimetype application / Json.
这意味着您有两种选择:
>从您的内容返回application / Json mimetype,这将非常合适
>或者只是更改GsonhttpMessageConverter上支持的媒体类型:
String Json = "{\"param\":3}"; GsonhttpMessageConverter converter = new GsonhttpMessageConverter();converter.setSupportedMediaTypes(new MediaType("application","octet-stream",Charset.forname("UTF-8")));restClIEnt.getRestTemplate().getMessageConverters().add(converter);Response res = restClIEnt.send(Json);总结
以上是内存溢出为你收集整理的使用AndroidAnnotations的Rest客户端 – “没有合适的HttpMessageConverter ……”全部内容,希望文章能够帮你解决使用AndroidAnnotations的Rest客户端 – “没有合适的HttpMessageConverter ……”所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)