2016-11-25 58 views
1

我正在使用我使用@JsonSnakeCase批註將項目格式從CamelCase轉換爲snake_case的項目使用了dropwizard框架。但是當我嘗試使用swagger註釋生成swagger.json時,它會在CamelCase中生成定義。是否有我需要設置的swagger中的任何配置,將屬性的格式從CamelCase更改爲snake_case?Dropwizard中用於swagger.json中定義的snakecase格式的生成

這是swagger.json是如何產生的

回答

1

默認ObjectMapper與揚鞭沒有考慮到這一點

@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用於模型轉換。

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

FYI ModelConverterSwagger核心的單。所以這可能會影響所有使用它的地方。

+0

謝謝。這個伎倆。 – anupam