2016-11-25 4 views
1

私は、@ JsonSnakeCaseアノテーションをCamelCaseからsnake_caseに変換するためのプロジェクト用にdropwizardフレームワークを使用しています。しかし、swaggerアノテーションを使用してswagger.jsonを生成しようとすると、CamelCaseで定義が生成されます。 CamelCaseからsnake_caseへ属性のフォーマットを変更するために、設定する必要があるswaggerの設定はありますか?Dropwizardのswagger.jsonでの定義用snakecaseフォーマットの生成

私のモデルクラス:

@Data 
@JsonSnakeCase 

public class ServiceRequest { 
@NotNull 
private Long categoryId; 

@NotNull @NotEmpty 
private String serviceName; 

@NotNull @NotEmpty 
private String serviceDesc; 

private boolean isRootService; 
private Long parentServiceId; 

private String imageLink; 
private String imageDescription; 
private String videoLink; 
private String serviceHelpText; 

}

これはswagger.jsonが闊歩してデフォルトObjectMapperはこれを考慮するいない

答えて

1

を生成する方法です。モデル変換のためにswaggerによって使用される独自のマッパーを指定することができます。

FYI
ObjectMapper converter = new ObjectMapper(); 
converter.setPropertyNamingStrategy(
    PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES); 
ModelConverters.getInstance().addConverter(new ModelResolver(converter)); 
Swagger

ModelConverterコアのシングルトンです。これは、それが使用されているすべての場所に影響を与える可能性があります。

+0

ありがとうございました。これはトリックでした。 – anupam

関連する問題