android RestClientException:找不到合适的HttpMessageConverter

android RestClientException:找不到合适的HttpMessageConverter,第1张

概述我正在使用 spring android rest模板并尝试将 JSON响应转换为java类,如图所示 here. 这是我试图完成工作的片段: RestTemplate restTemplate = new RestTemplate(); restTemplate.getMessageConverters().add(new MappingJacksonHttpMessageConvert 我正在使用 spring android rest模板并尝试将 JSON响应转换为java类,如图所示 here.

这是我试图完成工作的片段:@H_502_3@

RestTemplate restTemplate = new RestTemplate();    restTemplate.getMessageConverters().add(new MapPingJacksonhttpMessageConverter());    //I have already trIEd to manually setting converters with no luck    //List<httpMessageConverter<?>> messageConverters = new ArrayList<httpMessageConverter<?>>();    //messageConverters.add(new MapPingJacksonhttpMessageConverter());    //messageConverters.add(new FormhttpMessageConverter());    //messageConverters.add(new StringhttpMessageConverter());    //restTemplate.setMessageConverters(messageConverters);    Result result = restTemplate.getForObject(url,Result.class);

我想我已经完成了所需的一切,因为它在文件中被告知:@H_502_3@

>我的classpath中有以下jar@H_502_3@

> jackson-all-1.7.6.jar
> spring-androID-rest-template-1.0.0.M2.jar@H_502_3@

> url确实返回了一个JsON对象.
> My Result类是一个包含所有必填字段的POJO@H_502_3@

基本上我的类路径中有Jackson依赖项必须足以让它工作,因为它说:@H_502_3@

The MapPingJacksonhttpMessageConverter is conditionally loaded when you create a new RestTemplate instance. If the Jackson dependencIEs are found in your classpath,the message converter will be automatically added and available for use in REST operations.@H_502_3@

那么我在这里缺少什么,我做错了什么?@H_502_3@

谢谢@H_502_3@

完整例外可以在这里找到:@H_502_3@

04-20 04:25:52.706: ERROR/AndroIDRuntime(9638): FATAL EXCEPTION: main04-20 04:25:52.706: ERROR/AndroIDRuntime(9638): java.lang.IllegalStateException: Could not execute method of the activity04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     at androID.vIEw.VIEw.onClick(VIEw.java:2083)04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     at androID.vIEw.VIEw.performClick(VIEw.java:2421)04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     at androID.vIEw.VIEw$PerformClick.run(VIEw.java:8869)04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     at androID.os.Handler.handleCallback(Handler.java:587)04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     at androID.os.Handler.dispatchMessage(Handler.java:92)04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     at androID.os.Looper.loop(Looper.java:143)04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     at androID.app.ActivityThread.main(ActivityThread.java:5068)04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     at java.lang.reflect.Method.invokeNative(Native Method)04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     at java.lang.reflect.Method.invoke(Method.java:521)04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:626)04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     at dalvik.system.NativeStart.main(Native Method)04-20 04:25:52.706: ERROR/AndroIDRuntime(9638): Caused by: java.lang.reflect.InvocationTargetException04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     at xxx.SamplePageActivity.doRest(SamplePageActivity.java:83)04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     at java.lang.reflect.Method.invokeNative(Native Method)04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     at java.lang.reflect.Method.invoke(Method.java:521)04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     at androID.vIEw.VIEw.onClick(VIEw.java:2078)04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     ... 11 more04-20 04:25:52.706: ERROR/AndroIDRuntime(9638): Caused by: org.springframework.web.clIEnt.RestClIEntException: Could not extract response: no suitable httpMessageConverter found for response type [[Lxxx.SamplePageActivity$Result;] and content type [application/Json;charset=UTF-8]04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     at org.springframework.web.clIEnt.httpMessageConverterExtractor.extractData(httpMessageConverterExtractor.java:77)04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     at org.springframework.web.clIEnt.RestTemplate.doExecute(RestTemplate.java:449)04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     at org.springframework.web.clIEnt.RestTemplate.execute(RestTemplate.java:404)04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     at org.springframework.web.clIEnt.RestTemplate.getForObject(RestTemplate.java:202)04-20 04:25:52.706: ERROR/AndroIDRuntime(9638):     ... 15 more
解决方法 我从来没有在AndroID上做过任何事情,但我知道转换者对于Content-Type是挑剔的.对于杰克逊来说,消息体需要有’Content-Type:application / Json’.尝试检查响应中的所有标头. 总结

以上是内存溢出为你收集整理的android RestClientException:找不到合适的HttpMessageConverter全部内容,希望文章能够帮你解决android RestClientException:找不到合适的HttpMessageConverter所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1135178.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存