我有一个正在调用的外部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:我在这里输入了代码,代码可能格式不好。
如果有人有任何建议,请分享。谢谢您!
暂无答案!
目前还没有任何答案,快来回答吧!