MessageBodyProviderNotFoundException,ModelValidationException

在使用Dropwizard开发文件上传服务时,遇到MessageBodyProviderNotFoundException和ModelValidationException异常。解决方法是在Resource中使用@FormDataParam注解,并在Application中注册Multipart的Provider。如果使用ResourceTestRule进行单元测试,还需要在客户端注册MultiPartFeature,否则测试会抛出异常。通过这些步骤,可以成功处理异常并进行单元测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用dropwizard开发文件上传服务的时候,需要使用Jersy的扩展包:

    <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-multipart</artifactId>
        <version>${multipart.version}</version>
    </dependency>

在Resource中使用@FormDataParam

  @Consumes(MediaType.MULTIPART_FOR
这个是日志吗[25-06-12 15:15:43.500] {Timer-12} ConnectionID:29: getNextResult: Encountered unexpected unknown token (0x49) [25-06-12 15:15:43.500] {Timer-12} ConnectionID:29 got unexpected value in TDS response at offset:10 [25-06-12 15:15:53.741] {resin-port-8088-60} A message body writer for Java class java.lang.Integer, and Java type int, and MIME media type text/plain was not found. The registered message body writers compatible with the MIME media type are: text/plain -> com.sun.jersey.core.impl.provider.entity.StringProvider com.sun.jersey.core.impl.provider.entity.ReaderProvider */* -> com.sun.jersey.core.impl.provider.entity.FormProvider com.sun.jersey.core.impl.provider.entity.MimeMultipartProvider com.sun.jersey.core.impl.provider.entity.StringProvider com.sun.jersey.core.impl.provider.entity.ByteArrayProvider com.sun.jersey.core.impl.provider.entity.FileProvider com.sun.jersey.core.impl.provider.entity.InputStreamProvider com.sun.jersey.core.impl.provider.entity.DataSourceProvider com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$General com.sun.jersey.core.impl.provider.entity.ReaderProvider com.sun.jersey.core.impl.provider.entity.DocumentProvider com.sun.jersey.core.impl.provider.entity.StreamingOutputProvider com.sun.jersey.core.impl.provider.entity.SourceProvider$SourceWriter com.sun.jersey.server.impl.template.ViewableMessageBodyWriter com.sun.jersey.json.impl.provider.entity.JSONJAXBElementProvider$General com.sun.jersey.json.impl.provider.entity.JSONWithPaddingProvider com.alibaba.fastjson.support.jaxrs.FastJsonProvider com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$General com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$General com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$General com.sun.jersey.json.impl.provider.entity.JSONListElementProvider$General E media type text/plain was not found. ... 73 more
最新发布
06-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值