Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Thymeleaf、SpringMVC、web应用程序和rest模块。无法处理地图<;燃料>;在localhost:8081/transprs端点中_Java_Json_Spring_Rest_Model View Controller - Fatal编程技术网

Java Thymeleaf、SpringMVC、web应用程序和rest模块。无法处理地图<;燃料>;在localhost:8081/transprs端点中

Java Thymeleaf、SpringMVC、web应用程序和rest模块。无法处理地图<;燃料>;在localhost:8081/transprs端点中,java,json,spring,rest,model-view-controller,Java,Json,Spring,Rest,Model View Controller,Hello my应用程序分为两个部分,以json格式的web应用服务rest进行数据交换 我在尝试使用localhost:8081/transports端点时遇到问题。这应该给我一个带有数据的传输模板。 相反,我得到了一个错误: class java.util.LinkedHashMap cannot be cast to class com.epam.brest.courses.model.Fuel (java.util.LinkedHashMap is in module java.bas

Hello my应用程序分为两个部分,以json格式的web应用服务rest进行数据交换 我在尝试使用localhost:8081/transports端点时遇到问题。这应该给我一个带有数据的传输模板。 相反,我得到了一个错误:

 class java.util.LinkedHashMap cannot be cast to class com.epam.brest.courses.model.Fuel (java.util.LinkedHashMap is in module java.base of loader 'bootstrap'; com.epam.brest.courses.model.Fuel is in unnamed module of loader org.eclipse.jetty.webapp.WebAppClassLoader @6ddbbfbb)
at com.epam.brest.courses.web_app.TransportController.getFuelsMap (TransportController.java:198)
我仔细研究了这个问题,发现jackson不知道如何在这一部分序列化或反序列化Map:

我使用这张地图通过id获取燃料,在thymeleaf模板中:

有和的链接

你能帮我写代码吗,用地图解决这个问题


p、 美国endpoing localhost:8081/fuels运行良好,因为我在那里不使用任何地图

我认为问题在于你的加油服务

@Override
public List<Fuel> findAll() {
    LOGGER.debug("findAll()");
    ResponseEntity responseEntity = restTemplate.getForEntity(url, List.class);
    return (List<Fuel>) responseEntity.getBody();
}
@覆盖
公共列表findAll(){
debug(“findAll()”);
ResponseEntity resteEntity=restTemplate.getForEntity(url,List.class);
return(List)responseEntity.getBody();
}
不要使用getForEntity(url,List.class),该列表不是类型安全的。 请尝试:

template.exchange(url, GET, new HttpEntity<>(), newParameterizedTypeReference<List<Fuel>>() { });
template.exchange(url,GET,newhttpentity(),newParameterizedTypeReference(){});

这将返回一个typesafe ResponseEntity,它应该能够正常工作。

HttpHeaders=new HttpHeaders();setAccept(Arrays.asList(MediaType.APPLICATION_JSON));HttpEntity=新的HttpEntity(空,标题);ParameteredTypeReference responseType=新的ParameteredTypeReference(){};ResponseEntity ResponseEntity=restemplate.exchange(url,HttpMethod.GET,entity,responseType);return(List)responseEntity.getBody();谢谢你的帮助!