Dropwizard:忽略一项资源中的 PropertyNamingStrategy class

Dropwizard : Ignore PropertyNamingStrategy in one resource class

下面的方式,

environment.getObjectMapper().setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES);

我们可以为Dropwizard项目中的所有资源api设置PropertyNamingStrategy。我们已经在我们的项目中使用了它。

我想做的是,对于 1 个资源文件,我不想使用任何 PropertyNamingStrategy。在所有其他资源中,我想使用它。可以在 Dropwizard 中做吗?

您不能在资源级别 AFAIK 上执行此操作,但您可以在 DTO class 级别上执行此操作。我假设您正在为该特定资源使用现有的 DTO class。作为解决方案,您可以扩展 class.

@JsonNaming(value = PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy.class)
public class MyDtoWithUnderscore extends MyDto {

   public MyDtoWithUnderscore(){}
}