首页 > Java > java教程 > 如何修复 RESTful API 中的'MULTIPART_FORM_DATA:未找到注入源”错误?

如何修复 RESTful API 中的'MULTIPART_FORM_DATA:未找到注入源”错误?

Patricia Arquette
发布: 2024-12-09 07:43:11
原创
449 人浏览过

How to Fix the

MULTIPART_FORM_DATA:解决“未找到参数的注入源”错误

尝试使用 RESTful API 上传文件时,您可能会遇到错误“MULTIPART_FORM_DATA:未找到公共类型参数的注入源javax.ws.rs.core.Response”。此错误是由于用于文件处理的 JAR 文件出现问题而导致的。

要解决此问题:

删除:

  • jersey -multipart-1.18.jar(用于泽西岛1.x)

添加:

  • jersey-media-multipart-2.17
  • mimepull-1.9.3 通过依赖项:
<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-multipart</artifactId>
    <version>2.17</version>
</dependency>
登录后复制

注册

  • MultiPartFeature:

    • 对于ResourceConfig:注册( MultiPartFeature.class);
    • 对于web.xml:
<init-param>
    <param-name>jersey.config.server.provider.classnames</param-name>
    <param-value>org.glassfish.jersey.media.multipart.MultiPartFeature</param-value>
</init-param>
登录后复制

其他注意事项:

  • 更新导入以使用 FormDataParam 的新包名称和 FormDataContentDisposition。
  • 如果使用 Dropwizard,请包括dropwizard-forms 和 MultiPartBundle。

其他可能的原因

  • 检查是否有类似的 ModelValidationExceptions,因为:

    • 无效的资源方法签名
    • 命名空间问题
    • 资源类注释
    • 依赖关系问题(示例在下面的链接中提供)

更多链接阅读:

  • [ModelValidationException 疑难解答](https://github.com/javaee/jersey/issues/166)
  • [资源方法签名](https://javabydeveloper.com/calling-rest-service-using-postman-empty-response/)
  • [命名空间问题](https://stackoverflow.com/questions/35342200/glassfish -jersey-modelvalidationException-no-resource-annotation-found-for-the-ap)

以上是如何修复 RESTful API 中的'MULTIPART_FORM_DATA:未找到注入源”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板