java – 不存在必需的MultipartFile参数 – Spring Boot REST POST

前端之家收集整理的这篇文章主要介绍了java – 不存在必需的MultipartFile参数 – Spring Boot REST POST前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试进行概念验证,该概念涉及.Net系统将文件发布到Java Spring Boot应用程序上的Rest端点.我一直收到“必需参数不存在”错误.这个错误有很多SO问题,我尝试过那些没有运气的解决方案.谁能看到我做错了什么?

这是我的C#代码

@H_403_7@ private async Task

这是Fiddler看到的请求:

@H_403_7@POST http://10.0.2.2:8083/asset/1000/1001 HTTP/1.1 Content-Type: multipart/form-data; boundary="bac9aebd-d9ff-40ef-bcf3-4fffdd1b2c00" Host: 10.0.2.2:8083 Content-Length: 158 Expect: 100-continue Connection: Keep-Alive --bac9aebd-d9ff-40ef-bcf3-4fffdd1b2c00 Content-Disposition: form-data; name=assetFile foo,bar,10 foo2,bar2,12 --bac9aebd-d9ff-40ef-bcf3-4fffdd1b2c00--

这是我的控制器:

@H_403_7@@RestController @RequestMapping("/asset/") public class AssetController { @RequestMapping(path="{merchantId}/{assetId}",method=RequestMethod.POST) public String getAsset( HttpServletRequest request,@RequestParam("assetFile") MultipartFile file,@PathVariable("merchantId") long merchantId,@PathVariable("assetId") long assetId) throws IOException { return "It worked!"; } }

这是我的配置:

@H_403_7@@SpringBootApplication(exclude={MultipartAutoConfiguration.class}) public class MySpringApplication { public static void main(String[] args) { SpringApplication.run(MySpringApplication.class,args); } @Bean(name = "multipartResolver") public CommonsMultipartResolver multipartResolver() { System.out.println("multipartResolver()"); CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(); return multipartResolver; } }

以下是回复

@H_403_7@HTTP/1.1 400 Bad Request Server: Apache-Coyote/1.1 Content-Type: application/json;charset=UTF-8 Transfer-Encoding: chunked Date: Fri,25 Mar 2016 19:34:55 GMT Connection: close f3 {"timestamp":1458934495566,"status":400,"error":"Bad Request","exception":"org.springframework.web.bind.MissingServletRequestParameterException","message":"required MultipartFile parameter 'assetFile' is not present","path":"/asset/1000/1001"} 0

编辑,因为我发布了错误的C#代码

最佳答案
好吧,也许我没有尝试过我在SO上看到的所有解决方案.

This question had a solution for me.

我不得不使用@modelattribute而不是@RequestParam.

猜你在找的Spring相关文章