首页 >Java >java教程 >如何解决 Jersey 文件上传中的'No ModelValidationException Found”错误?

如何解决 Jersey 文件上传中的'No ModelValidationException Found”错误?

Susan Sarandon
Susan Sarandon原创
2024-12-11 09:03:11311浏览

How to Resolve

MULTIPART_FORM_DATA: No ModelValidationException Found for a Parameter in UploadFileService

在基于 Jersey 的文件上传 RESTful 服务实现中,您可能会遇到错误:“验证应用程序资源模型在应用程序初始化期间失败。[[致命]未找到公共类型参数的注入源。 javax.ws.rs.core.Response."

要解决此问题,您需要确保项目中包含正确的 JAR 文件。具体来说:

  • 删除jersey-multipart-1.18.jar。适用于 Jersey 1.x。
  • 添加 jersey-media-multipart-2.17mimepull-1.9.3

对于Maven,包括以下内容依赖项:

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

接下来,注册 MultiPartFeature。如果使用 ResourceConfig,请按如下方式注册:

register(MultiPartFeature.class);

如果使用 web.xml,则将该类作为 init-param 添加到 Jersey servlet:

<init-param>
    <param-name>jersey.config.server.provider.classnames</param-name>
    <param-value>org.glassfish.jersey.media.multipart.MultiPartFeature</param-value>
</init-param>

解析 JAR 后依赖问题,您还可能会因导入类中的包更改而遇到编译错误。确保导入的类使用以下包:

  • org.glassfish.jersey.media.multipart.FormDataParam
  • org.glassfish.jersey.media.multipart.FormDataContentDisposition

按照以下步骤,您可以解决MULTIPART_FORM_DATA错误并成功实施使用 Jersey 在 RESTful 服务中上传文件。

以上是如何解决 Jersey 文件上传中的'No ModelValidationException Found”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

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