首页 >Java >java教程 >如何修复多部分/表单数据 REST API 上传中的'未找到注入源”错误?

如何修复多部分/表单数据 REST API 上传中的'未找到注入源”错误?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-09 06:04:09563浏览

How to Fix

调试 RESTful API 服务中的 MULTIPART_FORM_DATA 注入错误

使用 MULTIPART_FORM_DATA 内容类型通过 RESTful API 上传文件时遇到的常见错误是:

“未找到公共类型参数的注入源javax.ws.rs.core.Response..."

确定原因

此错误通常是由于处理多部分表单的 JAR 依赖项缺失或不正确而导致的。

解决方案

要解决此问题,您需要将过时的 jersey-multipart-1.18.jar 依赖项替换为以下内容两个:

  • jersey-media-multipart-2.17
  • mimepull-1.9.3

在 Maven 依赖项中,使用:

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-multipart</artifactId>
    <version>2.17</version>
</dependency>

注册MultiPartFeature

  • 如果使用 ResourceConfig 进行配置,请注册 MultiPartFeature:
register(MultiPartFeature.class);
  • 如果使用 web.xml,请向 Jersey 添加 init-param servlet:
<init-param>
    <param-name>jersey.config.server.provider.classnames</param-name>
    <param-value>org.glassfish.jersey.media.multipart.MultiPartFeature</param-value>
</init-param>

附加注意

  • 确保依赖项中的 Jersey 版本与您当前的版本匹配。
  • FormDataParam 和 FormDataContentDisposition 的导入语句可能需要更新到新位置(例如 org. glassfish.jersey.media.multipart)。
  • 如果需要,请参阅“旁白”部分中提供的参考资料排查 ModelValidationException 的其他原因。

以上是如何修复多部分/表单数据 REST API 上传中的'未找到注入源”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn