RestTemplate 请求返回 List 类型错误
程序员文章站
2022-06-26 12:54:16
...
前言
springboot 为我们提供了 RestTemplate 来提供 http 请求。
其中 RestTemplate 提供了一个 postForObject 方法,我在使用其接受 List 类型时,发送报错:
java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.beng.entity.User
at com.itmuch.cloud.controller.MovieController.listAll(MovieController.java:45) ~[classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_161]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_161]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_161]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_161]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:220) ~[spring-web-4.3.4.RELEASE.jar:4.3.4.RELEASE]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) ~[spring-web-4.3.4.RELEASE.jar:4.3.4.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:116) ~[spring-webmvc-4.3.4.RELEASE.jar:4.3.4.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) ~[spring-webmvc-4.3.4.RELEASE.jar:4.3.4.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) ~[spring-webmvc-4.3.4.RELEASE.jar:4.3.4.RELEASE]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) ~[spring-webmvc-4.3.4.RELEASE.jar:4.3.4.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) ~[spring-webmvc-4.3.4.RELEASE.jar:4.3.4.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897) ~[spring-webmvc-4.3.4.RELEASE.jar:4.3.4.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) ~[spring-webmvc-4.3.4.RELEASE.jar:4.3.4.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) ~[spring-webmvc-4.3.4.RELEASE.jar:4.3.4.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) ~[tomcat-embed-core-8.5.6.jar:8.5.6]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) ~[spring-webmvc-4.3.4.RELEASE.jar:4.3.4.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) ~[tomcat-embed-core-8.5.6.jar:8.5.6]
因此,我们可以使用 数据来接收。
User[] users = restTemplate.getForObject("http://localhost:8080/api/user/list-all", User[].class);
然后在把 User 数组转换为 List。
推荐阅读
-
jQuery - 拦截所有Ajax请求(统一处理超时、返回结果、错误状态码 )
-
DWR使用及配置,并获得返回为List类型的数据
-
DWR使用及配置,并获得返回为List类型的数据
-
RestTemplate请求出现401错误
-
django请求返回不同的类型图片json,xml,html的实例
-
WCF(远程服务器返回错误: 400 错误的请求)
-
post数据时远程服务器返回错误: (400)bad request 错误的请求。
-
mybatis——返回结果类型为集合类型(List、Map)
-
HTTP状态 500 - 内部服务器错误类型 异常报告 消息 Servlet[springmvc]的Servlet.init()引发异常 描述 服务器遇到一个意外的情况,阻止它完成请求。 例外情
-
RestTemplate 请求返回 List 类型错误