今天接到一个任务是要写一个上传文件同时还带有一个json数据的请求接口。先来分析一下,后端需要两个参数,一个参数用来接收上传文件,另一个参数用来接收json数据。后端接收文件可以采用MultipartFile来接收,json数据可以创建对象进行接收, 采用@RequestPart注解进行数据绑定。
代码示例:
@PostMapping("/upload")
public void upload(@RequestPart("file") MultipartFile uploadFile,
@RequestPart("req") @Valid Query req){
//TODO 业务代码
}
接口写好了,需要进行测试。现在大多数的项目都是前后端分离的,需要采用postman来进行模拟请求。打开postman,新建一个请求,在Body里面携带参数,选择form-data。
1我们可以选择参数类型,鼠标点击key值尾部,出现Text和File两种类型供我们选择。点击File:
2点击select file,选择要上传的文件即可,参数req的value数据为你自己需要的json数据。
3这样参数就设置好了,现在发送请求,会报错,如下图所示:
4报错信息是不支持的媒体类型,只需要在json参数后面设置conten type即可:
5再重新发送请求,就可以了。
网友评论