热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

OpenFeignFormData

服务端接口代码如下:***上传数据+实体信息*@RequestMapping(upload)publicStringdoctorAnalysis(HttpServletReques

服务端接口代码如下:

/**
* 上传数据+实体信息
*/
@RequestMapping(
"/upload")
public String doctorAnalysis(HttpServletRequest request, @RequestParam(value = "userinfo") String param, @RequestParam(value = "file") MultipartFile file) {
logger.info(
"userinfo json => {}", param);
logger.info(
"上传成功{}", file.getOriginalFilename());
File saveFile
= new File("D:\\"+file.getOriginalFilename());
if (!saveFile.exists()) {
saveFile.mkdirs();
}
try {
file.transferTo(saveFile);
}
catch (IOException e) {
logger.error(e.getMessage(), e);
e.printStackTrace();
}
return "上传成功";
}

 

PostMan 如下

 

 OpenFeign

@FeignClient(name = "vipsoft", url = "${api.url}")
public interface ICallbackFeignService {
/**
* 上传文件
*
* 注意: 使用openfeign传递参数含有文件类型时必须指定 cOnsumes= MediaType.MULTIPART_FORM_DATA_VALUE
*
*
@param param 需要将对象转成JSON,如果直接传对象出去,将会变成 Key Value的形式
*
@return
*/
@PostMapping(value
= "/upload", cOnsumes= MediaType.MULTIPART_FORM_DATA_VALUE)
String upload(@RequestPart(
"result") String param, @RequestPart("file") MultipartFile file);
}

package com.vipsoft.web;
import com.vipsoft.web.rpc.ICallbackFeignService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.FileInputStream;
@SpringBootTest
public class AppCallbackTest {
@Autowired
ICallbackFeignService appCallbackFeignService;
@Test
void Upload() throws Exception {
File file
= new File("D:\\Users\\Desktop\\fanye.mp4");
//这里的第一个参数值 file 是对应上面feign的文件注解中的@RequestPar中的name。一定要对应上
MultipartFile multipartFile = new MockMultipartFile("file", file.getName(), "application/octet-stream;charset=utf-8", new FileInputStream(file));
UserInfo param
= new UserInfo();
param.setUserName(
"张三");
param.setAge(
40);
appCallbackFeignService.upload(multipartFile);
}
}

 



推荐阅读
author-avatar
手机用户2502905797
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有