春ベースのAPIは次のとおりです。
@RequestMapping(value = ControllerConstants.FILE_UPLOAD_URI, method = RequestMethod.POST)
public @ResponseBody
boolean processUpload(@RequestParam("file") MultipartFile file, @RequestParam("accessionId") String accessionId, @RequestParam("protocol") String protocol, HttpServletRequest request) throws IOException {
logger.info("upload file: {} with accessionId: {} and protocol:{}",file.getOriginalFilename(),accessionId,protocol);
return dataManagerService.writeFile(file, protocol, accessionId);
}
これが私の最善の努力です:
FormDataMultiPart part = new FormDataMultiPart()
.field("accessionId", returnedAccessionId)
.field("protocol", protocol)
.field("name", file.getName())
.field("file", stream, MediaType.APPLICATION_OCTET_STREAM_TYPE);
MultivaluedMap<String, String> params = new MultivaluedMapImpl();
params.add("file", file.getAbsolutePath());
params.add("accessionId", returnedAccessionId);
params.add("protocol", protocol);
WebResource resource2 = client.resource(agent.getServerEndpointUri() + "/novax/service/dataManager/upload");
ClientResponse response4 = resource2
.queryParams(params)
.type(MediaType.MULTIPART_FORM_DATA_TYPE)
.post(ClientResponse.class, part);
応答は404です
。2つの質問:-Spring APIは適切に定義されていますか?-Jerseyクライアントを使用してAPIを適切に呼び出すにはどうすればよいですか?