spring用两个文件调用外部api-multipart/form数据

cclgggtu  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(203)

我有一个正在调用的外部api。api接受两个文件作为输入。一个文件是.txt,另一个文件是.josn。
我需要通过spring调用这个api。此api是多部分/表单数据。

public String doAPICall(String uri, String token) {

File idFile = new File ("c:\tmp\id_file.txt");
File jsonFile = new File ("c:\tmp\jsonFile.json");

MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
body.add("idFile", new FileSystemResource(idFile));
body.add("jsonFile", new FileSystemResource(jsonFile));

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
headers.set("Authorization", "Bearer " + token);

HttpEntity<MultiValueMap<String, Object>> requestEntity= new HttpEntity<>(body, headers);

RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.exchange(
                uri, HttpMethod.POST,requestEntity,
                String.class).getBody().toString();

System.out.println(result);
return result;

}
结果:500-内部服务器错误。但是,如果我通过失眠/ Postman 用相同的配置调用api,它就可以工作了。而且,它不会抛出401,因为令牌是有效的。
当我上传一个txt和json文件时,我需要设置一些额外的头文件吗?
ps:我在这里输入了代码,代码可能格式不好。
如果有人有任何建议,请分享。谢谢您!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题