如何解决如何将文件从Quarkus发送到Spring Boot应用程序?
我正在编写一个Quarkus微服务,旨在与主Spring Boot应用程序进行通信。
为了调用Spring Boot应用程序,我基于此Quarkus tutorial编写了一个REST客户端,它在某些端点上工作正常。 当我尝试从Quarkus上传文件到Spring Boot时出现问题,我无法使其正常工作。我遵循this other tutorial处理多部分请求。
这是我在Quarkus应用程序中的多部分对象:
public class MultipartBody {
@FormParam("file")
@PartType(MediaType.APPLICATION_OCTET_STREAM)
public InputStream file;
@FormParam("fileName")
@PartType(MediaType.TEXT_PLAIN)
public String fileName;
}
这是Quarkus中REST客户端上的端点:
@POST
@Path("/file")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.APPLICATION_JSON)
ProjectFile upload(@HeaderParam(AUTH_HEADER) String apiToken,@MultipartForm MultipartBody data);
这是我构建MultipartBody对象的方式:
InputStream stream = IOUtils.toInputStream(contentString,Charset.defaultCharset());
MultipartBody data = MultipartBody.builder()
.file(stream)
.fileName(filename)
.build();
Spring Boot应用程序中的端点:
@PostMapping("/file")
public ProjectFile receive(@RequestParam MultipartFile inputFile)
抛出错误,提示未提供inputFile
:
Required request part 'inputFile' is not present - org.springframework.web.multipart.support.MissingServletRequestPartException - Required request part 'inputFile' is not present
如果我将@RequestParam
更改为@RequestBody
,则inputFile
参数始终为null
。我想念什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。