No primary or default constructor found for interface org.springframework.web.multipart.MultipartFile
时间: 2023-10-01 07:11:42 浏览: 329
Dependency‘org.framework:spring-webmvc:’ not found
根据引用\[1\]中的内容,Gateway的webflux和SpringBoot的web存在冲突,因此无法使用传统的HttpServletRequest方式来获取请求数据。在Gateway网关的controller接口中,无法直接获取ServerHttpRequest,需要通过获取ServerWebExchange对象,然后从中获取ServerHttpRequest。在代码中,可以使用exchange.getRequest()来获取ServerHttpRequest对象。然后可以通过ServerHttpRequest对象获取请求的URI、接口标识、IP地址、日期和请求头等信息。
根据引用\[2\]中的内容,当在微服务网关Gateway中使用传统的HttpServlet方式去获取请求中的数据时,可能会出现报错"No primary or default constructor found for interface org.springframework.web.multipart.MultipartFile"。这个错误通常是因为在Controller的方法参数上加上了HttpServerRequest,而HttpServerRequest没有默认的构造函数。解决这个问题的方法是使用MultipartFile来代替HttpServerRequest来处理文件上传的请求。
综上所述,如果在Gateway中遇到报错"No primary or default constructor found for interface org.springframework.web.multipart.MultipartFile",可以尝试使用MultipartFile来处理文件上传的请求。
#### 引用[.reference_title]
- *1* *2* [No primary or default constructor found for interface javax.servlet.http.HttpServletRequest](https://blog.csdn.net/CSDN2497242041/article/details/130117238)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文