无法让客户ParamConverterProvider工作,DropWizard 0.7

时间:2015-09-04 15:09:39

标签: jersey dropwizard

在我的跑步方法中,我有:

environment.jersey().register(DateTimeParamConverterProvider.class);

但是在应用程序启动时我得到了:

ERROR [2015-09-04 15:02:15,405] com.sun.jersey.spi.inject.Errors: The
following errors and warnings have been detected with resource and/or 
provider classes:
  SEVERE: Missing dependency for method public org.joda.time.DateTime 
scot.mygov.pp.services.rest.DateDimensionExtResource.findByTimestamp(org.j
oda.time.DateTime) at parameter at index 0

这里我的findByTimestamp方法只是我正在玩的东西,同时试图让它工作。

我在调试期间列出了注册的提供程序,如下所示:

Set<Class<?>> providerClassesAfter =
   environment.jersey().getResourceConfig().getProviderClasses();

获得此注册提供商名单:

class io.dropwizard.jersey.caching.CacheControlledResourceMethodDispatchAdapter
class io.dropwizard.jersey.guava.OptionalResourceMethodDispatchAdapter
class io.dropwizard.jersey.guava.OptionalQueryParamInjectableProvider
class com.sun.jersey.multipart.impl.MultiPartConfigProvider
class com.sun.jersey.multipart.impl.MultiPartReaderServerSide
class org.mygovscot.util.json.DateTimeParamConverterProvider

所以我的供应商似乎已经注册了。谁能告诉我它为什么不起作用?

1 个答案:

答案 0 :(得分:0)

DropWizard 0.7使用Jersey 1.18,它实现了javax.ws.rs 1.1,它不支持ParamConverterProvider。 (DropWizard的更高版本在Jersey 2 +上)。