Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/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 如何为Postman的binary类型的请求体构建RestTemplate?_Java_Postman_Resttemplate - Fatal编程技术网

Java 如何为Postman的binary类型的请求体构建RestTemplate?

Java 如何为Postman的binary类型的请求体构建RestTemplate?,java,postman,resttemplate,Java,Postman,Resttemplate,我试图使用RestTemplate调用第三方服务,但当我试图通过Java代码调用该服务时,它抛出了BadRequest错误。 由于我不知道如何为API构建Resttemplate,因此我请求在这里获得关于如何为此类请求构建请求体的建议,同时请查看我现有的代码,并帮助我找出代码中的错误 邮递员请求的外观: 以下是Postman中形成的代码片段: OkHttpClient client = new OkHttpClient(); Request request = new Request.Bui

我试图使用RestTemplate调用第三方服务,但当我试图通过Java代码调用该服务时,它抛出了BadRequest错误。 由于我不知道如何为API构建Resttemplate,因此我请求在这里获得关于如何为此类请求构建请求体的建议,同时请查看我现有的代码,并帮助我找出代码中的错误

邮递员请求的外观:

以下是Postman中形成的代码片段:

 OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
  .url("")
  .post(null)
  .addHeader("Authorization", "************")
  .addHeader("User-Agent", "PostmanRuntime/7.13.0")
  .addHeader("Accept", "*/*")
  .addHeader("Cache-Control", "no-cache")
  .addHeader("Postman-Token", "**********")
  .addHeader("Host", "**************")
  .addHeader("accept-encoding", "gzip, deflate")
  .addHeader("content-length", "160200")
  .addHeader("Connection", "keep-alive")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
//其中file的类型为file

LinkedMultiValueMap<String, Object> map = new LinkedMultiValueMap<>();
map.add("file", new ClassPathResource(file));

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.TEXT_PLAIN);

HttpEntity<LinkedMultiValueMap<String, Object>> requestEntity = new    
HttpEntity<LinkedMultiValueMap<String, Object>>(
                map, headers);
ResponseEntity<String> result = template.get().exchange(
                contextPath.get() + path, HttpMethod.POST, requestEntity,
                String.class);
LinkedMultiValueMap=新建LinkedMultiValueMap();
add(“文件”,新类路径资源(文件));
HttpHeaders=新的HttpHeaders();
headers.setContentType(MediaType.TEXT\u PLAIN);
HttpEntity requestEntity=new
HttpEntity(
地图、标题);
ResponseEntity结果=template.get().exchange(
contextPath.get()+路径,HttpMethod.POST,requestEntity,
字符串(类);

我想成功调用第三方实体并获得响应。

使用
ResponseEntity
字节[]
类型和不带内容类型:

InputStream inputStream = new ClassPathResource("myFile.jpg").getInputStream();
byte[] data = IOUtils.toByteArray(inputStream);
HttpEntity<byte[]> requestEntity = new HttpEntity<>(data);

restTemplate.exchange("url", HttpMethod.POST, requestEntity , String.class);
InputStream InputStream=new ClassPathResource(“myFile.jpg”).getInputStream();
字节[]数据=IOUtils.toByteArray(inputStream);
HttpEntity requestEntity=新的HttpEntity(数据);
restemplate.exchange(“url”,HttpMethod.POST,requestEntity,String.class);

除此之外,我们还需要传递如下内容类型:postRequest.addHeader(“内容类型”、“图像/jpeg”);谢谢你的回复。