首页 > 解决方案 > Spring Boot Rest API - 无法上传文件

问题描述

我们正在使用 Spring Boot 1.5.17.RELEASE。我们有多个服务,使用 zuul 服务作为 API 网关,使用 eureka 服务作为服务注册中心。

License Service 中的控制器方法:

@PutMapping(value = "/{licenseId}/upload")
public ResponseEntity<ValidationResponse> upload(@PathVariable Long licenseId,
        @RequestParam("file") MultipartFile file) throws GenericException {

当我单独测试上述 API 方法(没有 API 网关)时,能够上传文件:

http://localhost:8061/licenses/7/upload

但是当我使用 API 网关进行测试时,我得到了异常:

http://localhost:8052/api/license-service/licenses/7/upload

Status is 400 Bad Request

ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.multipart.support.MissingServletRequestPartException: Required request part 'file' is not present]

为什么它不能与 Zuul API Gateway 一起使用?需要任何额外的配置吗?

标签: spring-mvcspring-bootspring-restcontrollernetflix-zuul

解决方案


推荐阅读