Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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 使用jersey客户端使用SpringRESTAPI_Java_Spring_Rest_Jersey - Fatal编程技术网

Java 使用jersey客户端使用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

我有一个用于上传多个文件的SpringRESTAPI。签名是

@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客户端使用此功能?只有服务器可以使用。