1

我正在尝试制作文件上传 RESTful 服务。但它吐出一个依赖错误。

这是我的代码:

    @ApiOperation(
        value = "Upload File.", 
        notes = "Uploads and stores user files to the server." )
@ApiResponses(value = {
        @ApiResponse(code = 403, message = "User not authorized to upload files."),
        @ApiResponse(code = 500, message = "Server error")})
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadFile(
        @ApiParam( value = "File", required = false)
        @FormDataParam("file") InputStream uploadInputStream,
        @ApiParam( value = "File Data", required = false)
        @FormDataParam("file") FormDataContentDisposition fileDetail
        ){
    return Response.ok("Test new endpoint").build();
}

我的 pom.xml 中的 pom 中确实有匹配的版本或球衣和多部分

        <dependency>
        <groupId>com.sun.jersey.contribs</groupId>
        <artifactId>jersey-multipart</artifactId>
        <version>${jersey.version}</version>
    </dependency>

    <!-- jersey -->    
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>${jersey.version}</version>
    </dependency>

这是正在产生的错误

SEVERE: Missing dependency for method public javax.ws.rs.core.Response com.lotame.ws.api.resources.FileResource.uploadFile(java.io.InputStream,com.sun.jersey.core.header.FormDataContentDisposition) at parameter at index 0
SEVERE: Missing dependency for method public javax.ws.rs.core.Response com.lotame.ws.api.resources.FileResource.uploadFile(java.io.InputStream,com.sun.jersey.core.header.FormDataContentDisposition) at parameter at index 1
SEVERE: Method, public javax.ws.rs.core.Response com.lotame.ws.api.resources.FileResource.uploadFile(java.io.InputStream,com.sun.jersey.core.header.FormDataContentDisposition), annotated with POST of resource, class com.lotame.ws.api.resources.FileResource, is not recognized as valid resource method.

任何意见,将不胜感激!

4

1 回答 1

0

此异常是由响应参数 (@ApiParam(...)) 周围的一些 Swaggers 注释引起的。我不确定他们为什么会导致这个问题,我相信这是因为 Swagger 对复杂对象作为参数的支持有限。

删除 Swagger ApiParam 符号已经解决了这个问题,并且只会导致无法编辑这些参数的文档。

于 2013-10-01T19:47:27.483 回答