无法使用Jersey实现简单的文件上传。缺少应用程序引导时引发的依赖项错误:
The following errors and warnings have been detected with resource and/or provider classes:
SEVERE: Missing dependency for method public javax.ws.rs.core.Response com.foo.MyResource.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.foo.MyResource.uploadFile(java.io.InputStream,com.sun.jersey.core.header.FormDataContentDisposition) at parameter at index 1
SEVERE: Method, public javax.ws.rs.core.Response com.foo.uploadFile(java.io.InputStream,com.sun.jersey.core.header.FormDataContentDisposition), annotated with POST of resource, class com.foo.FS2Resource, is not recognized as valid resource method.
unavailable
com.sun.jersey.spi.inject.Errors$ErrorMessagesException
at com.sun.jersey.spi.inject.Errors.processErrorMessages(Errors.java:170)
将输入参数映射到REST服务似乎存在问题?我已经阅读了文档并遵循了几个示例,但是我并没有偏离这些示例。
这是代码:
@Path("v1/")
public class FileUploadResource {
@POST
@Path("upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces({MediaType.APPLICATION_JSON})
public Response uploadFile(
@FormDataParam("file") InputStream is,
@FormDataParam("file") FormDataContentDisposition detail) {
String name = detail.getFileName();
// do upload stuff
String output = ....
return Response.status(200).entity(output).build();
}
}
我为FormDataParams输入了“ compile’com.sun.jersey.contribs:jersey-
multipart:1.17.1’”。
编辑 :我能够使它在泽西岛工作,但只能以这种更原始的方式进行:
@POST
@Path("upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.TEXT_PLAIN)
public Response uploadFile(final MimeMultipart file) {
if (file == null) {
return Response.status(Response.Status.BAD_REQUEST).entity("Must supply a valid file").build();
try {
for (int i = 0; i < file.getCount(); i++) {
// ... do something with file.getBodyPart(i));
}
return Response.ok("done").build();
} catch (final Exception e) {
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(e).build();
}
}
这可能是一个足够的解决方法,但仍想深入了解问题。
我有同样的问题。
这是一个版本问题(我在jersey.multipart中为1.8,在其余的球衣中为1.17.1)。将它们全部设置为1.17.1 workrd。
问题内容: 我正在将JAX-RS的jersey实现用于Web服务。我对这个JAX-RS非常陌生。 我试图在服务中添加一个方法,该方法接受Employee对象并根据Employee对象的值返回雇员ID(为此有数据库命中)。 遵循Restful原则,我将方法设置为@GET并提供了url路径,如下所示: 出于测试目的,我编写了此客户端: } 运行它时,出现错误: 编辑: 模型: 请让我知道问题出在哪里,
问题内容: 我正在将JAX-RS的jersey实现用于Web服务。我对这个JAX-RS非常陌生。 我试图在服务中添加一个方法,该方法接受Employee对象并根据Employee对象的值返回雇员ID(为此有数据库命中)。 遵循Restful原则,我将该方法设置为@GET并提供了url路径,如下所示: 出于测试目的,我编写了此客户端: 运行它时,出现错误: Method, public javax.
我试图使用位于src/test/resources下的文件进行单元测试,但当我试图读取它时,我不能总是获得空指针。 我使用Spring Boot 2.0.2,JDK 10和Gradle。 我尝试了谷歌搜索问题时发现的许多代码变体,但没有成功。 我的身材。gradle看起来像这样: 我的测试是这些测试的一些变体(我尝试过的任何测试都没有成功): 测试课程如下: src\test\java\com\m
使用Spring护套。我正在尝试使用Apache POI库解析项目中本地存储的excel文件。我的目录结构如下: > src > 主要 > java语言 com.app 控制器 模型 存储 库 资源 静态 测试.xlsx 我已经尝试了以上两种访问文件的方法,并且尝试了许多不同的文件路径,但是都没有效果。我没有得到构建错误或运行时错误,只是没有找到文件,当我试图调用该方法时,我在那一行得到一个Nul
我使用这个网络服务上传一个文件使用泽西 //省省吧 //将上传的文件保存到新位置 当我执行我的代码我得到一个405错误!对这个问题有什么建议吗?
本文向大家介绍Android使用xml文件资源定义菜单实现方法示例,包括了Android使用xml文件资源定义菜单实现方法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android使用xml文件资源定义菜单实现方法。分享给大家供大家参考,具体如下: 使用 XML 文件定义菜单 Android 提供了创建菜单的方式,一种是在 Java 代码中创建,一种是使用XML 文件定义。上面的实