2013-10-03 51 views
4

我正在嘗試在我的Dropwizard實例中添加自定義標頭篩選器,以檢查請求的版本是否同步到Dropwizard實例的版本。Dropwizard中的自定義碼頭篩選器

我看到你可以使用FilterBuilder添加碼頭CrossOriginFilters。但是,我無法弄清楚如何設置自定義過濾器。

謝謝

回答

11

通過環境類。

https://dropwizard.github.io/dropwizard/manual/core.html#environments

@Override 
public void run(MyApplicationConfiguration configuration, Environment environment) { 
    environment.servlets().addFilter("Custom-Filter-Name", new MyCustomFilter()).addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, "/*"); 
} 

你可以選擇調度類型,通過改變EnumSet.allOf(DispatcherType.class)

+0

您能否更新鏈接? –

+0

api文檔已經移動,所以我已經更新了最好的我可以。 –

+1

在新的dropsizard 0.7+中它是這樣做的:environment.servlets()。addFilter(「/ *」,new CrossOriginFilter()); – Maksim

7

這是我如何得到它使用Dropwwizard 0.7.1工作(API的出現從其他的例子改變了我的發現有)

在應用程序的運行方式:

final FilterRegistration.Dynamic cors = environment.servlets().addFilter("crossOriginRequsts", CrossOriginFilter.class); 
cors.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, "/*"); 

https://gist.github.com/craigbeck/fb71818063175b9b4210

相關問題