有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用RestTemplate使用AbstractMessageConverter

一,。总结问题

我正在尝试使用RestTemplate将逗号分隔的值(CSV格式的数据,而不是CSV文件)读入responseEntity(responseEntity<;List<;Map<;String,Object>;>;>;>;responseEntity)

但是,, 我得到下面的错误

org。springframework。网状物客户RestClientException:为类型[java.util.List<;java.util.Map<;java.lang.String,java.lang.Object>;]提取响应时出错和内容类型[text/csv;charset=utf-8];嵌套的异常是org。springframework。http。转换器。HttpMessageTreadableException:JSON解析错误:无法反序列化java.util.ArrayList值外字符串标记的实例;嵌套的异常是com。fasterxml。杰克逊。数据绑定。exc.MismatchdinPutException:无法反序列化java.util.ArrayList值外字符串标记的实例 在[源:(PushbackInputStream);行:1,列:1]

二,。描述一下你的尝试

:我试过一些MessageConverter

从这里开始 https://www.logicbig.com/tutorials/spring-framework/spring-web-mvc/csv-msg-converter.html 我在那里得到了一些有用的信息,并使用了一些。 但我一直犯同样的错误

三,。适当时,显示一些代码

            Map<String, Object> requestBody = new HashMap<>();
            List<HttpMessageConverter<?>> messageConverters = new ArrayList<>();
            MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();

            messageConverters.add(new ByteArrayHttpMessageConverter());
            messageConverters.add(new StringHttpMessageConverter());
            messageConverters.add(new ResourceHttpMessageConverter());
            messageConverters.add(new MappingJackson2HttpMessageConverter());
            messageConverters.add(new CsvHttpMessageConverter());
            converter.setSupportedMediaTypes(Collections.singletonList(MediaType.ALL));
            messageConverters.add(converter);

            restTemplate.setMessageConverters(messageConverters);

            // Prepare headers
            HttpHeaders headers = new HttpHeaders();
            headers.add("X-ACCESS-TOKEN", getAccessToken(_casinoAuth, _casinoAuth.getCasinoAuthId().toString()));
            headers.setContentType(MediaType.TEXT_PLAIN);

            // Ready to request.
            URI apiUrl = uriComponentsBuilder.queryParams(queryParams).build().expand(pathParams).toUri();
            HttpEntity<Object> requestEntity = new HttpEntity<>(requestBody, headers);
            ResponseEntity<List<Map<String, Object>>> responseEntity;
  • 我从这里得到错误信息

    responseEntity=restTemplate。exchange(APIRL、httpMethod、requestEntity、新参数化类型引用<;列表<;映射<;字符串、对象>;){ });


共 (0) 个答案