Java 使用jersey客户端使用SpringRESTAPI
我有一个用于上传多个文件的SpringRESTAPI。签名是Java 使用jersey客户端使用SpringRESTAPI,java,spring,rest,jersey,Java,Spring,Rest,Jersey,我有一个用于上传多个文件的SpringRESTAPI。签名是 @RequestMapping(value = "uploadFiles", method = { RequestMethod.POST }) @ResponseBody public CustomObject uploadFiles(@RequestParam("files") List<MultipartFile> uploads) @RequestMapping(value=“uploadFiles”,method
@RequestMapping(value = "uploadFiles", method = { RequestMethod.POST })
@ResponseBody
public CustomObject uploadFiles(@RequestParam("files") List<MultipartFile> uploads)
@RequestMapping(value=“uploadFiles”,method={RequestMethod.POST})
@应答器
公共CustomObject上载文件(@RequestParam(“文件”)列表上载)
如何使用jersey客户端来使用它?我想将文件或InputStream转换为MultiPartFile,并能够将其发送到此端点。使用RestTemplate的示例
import java.io.File;
import org.springframework.core.io.FileSystemResource;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
try {
File file1 = new File("/Users/file1");
FileSystemResource fileSystemResource1 = new FileSystemResource(file1);
File file2 = new File("/Users/file2");
FileSystemResource fileSystemResource2 = new FileSystemResource(file2);
RestTemplate restTemplate = new RestTemplate();
HttpHeaders partHeaders = new HttpHeaders();
partHeaders.setContentType(MediaType.MULTIPART_FORM_DATA);
MultiValueMap<String, Object> data = new LinkedMultiValueMap<>();
data.add("files", fileSystemResource1);
data.add("files", fileSystemResource2);
HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(data, partHeaders);
ResponseEntity<String> response = restTemplate.exchange(
endpoint, HttpMethod.POST,
requestEntity, String.class);
System.out.println(response.getBody() + " - " + response.getStatusCode());
} catch (Exception e) {
e.printStackTrace();
}
}
导入java.io.File;
导入org.springframework.core.io.FileSystemResource;
导入org.springframework.http.HttpEntity;
导入org.springframework.http.HttpHeaders;
导入org.springframework.http.HttpMethod;
导入org.springframework.http.MediaType;
导入org.springframework.http.ResponseEntity;
导入org.springframework.util.LinkedMultiValueMap;
导入org.springframework.util.MultiValueMap;
导入org.springframework.web.client.rest模板;
公开课考试{
/**
*@param args
*/
公共静态void main(字符串[]args){
试一试{
File file1=新文件(“/Users/file1”);
FileSystemResource fileSystemResource1=新的FileSystemResource(file1);
File file2=新文件(“/Users/file2”);
FileSystemResource fileSystemResource2=新的FileSystemResource(file2);
RestTemplate RestTemplate=新RestTemplate();
HttpHeaders partHeaders=新的HttpHeaders();
partHeaders.setContentType(MediaType.MULTIPART\u FORM\u DATA);
多值映射数据=新的LinkedMultiValueMap();
添加(“文件”,fileSystemResource1);
添加(“文件”,fileSystemResource2);
HttpEntity requestEntity=新的HttpEntity(数据、零件头);
ResponseEntity response=restemplate.exchange(
端点,HttpMethod.POST,
requestEntity,String.class);
System.out.println(response.getBody()+“-”+response.getStatusCode());
}捕获(例外e){
e、 printStackTrace();
}
}
}如何使用jersey客户端使用此功能?只有服务器可以使用。