
这是我试图完成工作的片段:@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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)