当前位置: 首页 > 知识库问答 >
问题:

集成错误jersey-多部分和swagger

咸亦
2023-03-14

我有一个使用泽西岛-1 的 JAX-RS 网络服务。目前只有一种方法,可以发送带有附件的邮件。附件必须作为多部分表单数据提供。

@POST
@Path("/mail")
@Consumes(MediaType.MULTIPART_FORM_DATA)   
public Response sendInfomailWithAttachment(

        @Context ServletContext context,
        @Context SecurityContext security,

        @QueryParam ("FROM") String senderAddress,
        @QueryParam ("SUBJECT") String subject,

        @QueryParam ("TO") String toRecipients,
        @QueryParam ("CC") String ccRecipients,
        @QueryParam ("BCC") String bccRecipients,

        @QueryParam ("noCopy") boolean sendNoCopy,

        @FormDataParam("attachment") InputStream fileInputStream,
        @FormDataParam("attachment") FormDataContentDisposition contentDispositionHeader,
        @FormDataParam("attachment") FormDataBodyPart fileBody,

        @FormDataParam("content") FormDataBodyPart content
        ){}

这种方法很有效。但是当我尝试集成swagger时,我总是会出现以下错误:

严重:缺少方法public javax.ws.rs.core的依赖项。响应…在索引8处的参数处抛出java.lang.Exception(参数9、10和11也会抛出此错误)

结合使用

SEVERE:方法、公共javax.ws.rs.core.Response…抛出java.lang.Exception,用资源的POST、类com.mywebservice.MyClass注释,不被识别为有效的资源方法。

如果我扔掉FormDataParam的东西,服务会正常启动,也会以昂首阔步的集成方式启动。

我使用

<dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.3</version>
    </dependency>

    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-servlet</artifactId>
        <version>1.17</version>
    </dependency>

    <dependency>
        <groupId>com.sun.jersey.contribs</groupId>
        <artifactId>jersey-multipart</artifactId>
        <version>1.17</version>
    </dependency>

<dependency>
        <groupId>com.wordnik</groupId>
        <artifactId>swagger-jersey-jaxrs_2.10</artifactId>
        <version>1.3.4</vershtml" target="_blank">ion>
    </dependency>

有什么已知的干扰吗?我还能做些什么来解决这个问题?

共有1个答案

汪辰阳
2023-03-14

正如我发现的,这是一个独立的解决问题。

swagger lib 1.3.4使用的是jersey-core-1.3和jersey-server-1.3,已经被maven选择了。相反,我在1.17中需要它,就像jersey-servlet和jersey-multipart版本一样。所以我必须将这两个依赖项添加到pom中,使maven依赖项解析使用1.17而不是1.13。

 类似资料:
  • 我正在尝试将球衣与Spring结合起来。 我对网络有疑问。xml配置。 这个例子包括SpringServlet: https://www.mkyong.com/webservices/jax-rs/jersey-spring-integration-example/ 但是另一个例子不包括SpringServlet。 https://github.com/jersey/jersey/blob/2.2

  • 我已经阅读了这两篇构建搜索应用程序的教程。 使用OpenJDK在Ubuntu上安装Solr和django-haystack,在这里 Django-干草堆-Solr-安装指南,这里 但是当我来到: 配置django-haystack,根据文档设置搜索索引类 http://docs.haystacksearch.org/dev/tutorial.html#configuration 将所需的solr字

  • 我有一个方法: 我找到了http://java.net/jira/browse/jersey-1413和提交http://java.net/projects/jersey/lists/commits/archive/2012-09/message/126,这似乎是相关的,但对于我来说,如何修复该问题并不明显。 已更新 我做了一个servlet,它在org.glassfish.jersey.serv

  • 使用Spring Boot 2.0.1部署Weblogic 12,Jersey 下面是日志内容。 Weblogic部署详细日志 [错误][HTTP][BEA-101216][Servlet]:“com.presor.config.JerseyConfig”无法在Web应用程序中启动时预加载:“oasSvr2.war”。Java语言组织中的lang.AbstractMethodError。玻璃鱼。运

  • 我试图将FLUME与HDFS集成,我的FLUME配置文件是 我的核心站点文件是 当我尝试运行flume代理时,它正在启动,并且能够从nc命令中读取,但是在写入hdfs时,我得到了下面的异常。我尝试使用< code > Hadoop DFS admin-safe mode leave 在安全模式下启动,但仍然出现以下异常。 如果在任何属性文件中配置了错误,请告诉我,以便它可以工作。 另外,如果我为此

  • 尝试将多部分功能用于我的泽西岛 3 Web 应用程序。不幸的是,似乎没有找到注射源... pom.xml web.xml endpoint 我一直在看其他帖子,在我看来,我有正确的依赖项,我还在我的web.xml.中注册了Multipart-Feature,我错过了什么? 感谢您的任何意见!