feign client
@FeignClient(name = "oceanengineDMPFileClient", url = "https://ad.222222.com",configuration = FeignMultipartSupportConfig.class)
public interface DMPFileClient {/*** 上传数据源** @param accessToken token* @return*/@PostMapping(value = "/file/upload/",consumes = {MediaType.MULTIPART_FORM_DATA_VALUE})OceanResp<DmpUploadResponse> uploadFile(@RequestHeader(name = "Access-Token") String accessToken, UploadFileRequest request);}
请求参数
@Data
public class UploadFileRequest {private Long id;private File file;
}
encoder
public class FeignMultipartSupportConfig {@Bean@Primary@Scope("prototype")public Encoder multipartFormEncoder() {return new SpringFormEncoder();}}
测试代码
@Testpublic void uploadFile() {File file = new File("/Users/aaaaa.zip");UploadFileRequest request = new UploadFileRequest();request.setFile(file);request.setId(111111111L);OceanResp<DmpUploadResponse> dmpUploadResponseOceanResp =dMPFileClient.uploadFile(accessToken, request);System.out.println(JSON.toJSONString(dmpUploadResponseOceanResp));}