Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.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
Spring 无法使用Jar作为负载进行售后服务调用_Spring_Spring Boot_Resttemplate - Fatal编程技术网

Spring 无法使用Jar作为负载进行售后服务调用

Spring 无法使用Jar作为负载进行售后服务调用,spring,spring-boot,resttemplate,Spring,Spring Boot,Resttemplate,我试图用JAR文件作为有效负载进行售后服务调用,我得到以下错误 找不到适用于请求类型的HttpMessageConverter [org.springframework.util.LinkedMultiValueMap]和内容类型 [应用程序/八位字节流] 我试过的代码如下,这里的任何帮助都会很好 ClassLoader classLoader = getClass().getClassLoader(); File file = new File(classLoader.getR

我试图用JAR文件作为有效负载进行售后服务调用,我得到以下错误

找不到适用于请求类型的HttpMessageConverter [org.springframework.util.LinkedMultiValueMap]和内容类型 [应用程序/八位字节流]

我试过的代码如下,这里的任何帮助都会很好

    ClassLoader classLoader = getClass().getClassLoader();
    File file = new File(classLoader.getResource("*.jar").getFile());

    HttpHeaders headers = new HttpHeaders();
    headers.add(HttpHeaders.AUTHORIZATION, authHeader);
    headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE);

    LinkedMultiValueMap<String, Object> payLoad = new LinkedMultiValueMap<String, Object>();
    payLoad.add("file", new FileSystemResource(file));

    HttpEntity<LinkedMultiValueMap<String, Object>> httpEntity = new HttpEntity<LinkedMultiValueMap<String, Object>>(payLoad, headers);
    try {
        RestTemplate restTemplate = new RestTemplate();         

        ResponseEntity<Object> response = restTemplate.postForEntity(url, Object.class);
    } catch (RestClientException ex) {
        ex.printStackTrace();       
    }
ClassLoader ClassLoader=getClass().getClassLoader();
File File=新文件(classLoader.getResource(“*.jar”).getFile();
HttpHeaders=新的HttpHeaders();
headers.add(HttpHeaders.AUTHORIZATION,authHeader);
headers.add(HttpHeaders.CONTENT\u TYPE、MediaType.APPLICATION\u OCTET\u STREAM\u VALUE);
LinkedMultiValueMap负载=新LinkedMultiValueMap();
payLoad.add(“file”,新文件系统资源(file));
HttpEntity HttpEntity=新的HttpEntity(有效负载、标头);
试一试{
RestTemplate RestTemplate=新RestTemplate();
ResponseEntity response=restTemplate.postForEntity(url,Object.class);
}捕获(RestClientException例外){
例如printStackTrace();
}

听起来您必须添加一个
HttpMessageConverter
来处理八位字节流。尝试在您的网络配置中添加类似的内容

@Override
public void configureMessageConverters(
    List<HttpMessageConverter<?>> converters) {

    messageConverters.add(new ResourceHttpMessageConverter());

    super.configureMessageConverters(converters);
}
@覆盖
公共无效配置MessageConverters(
列表