过滤到scala spring boot app

时间:2014-09-30 06:34:07

标签: scala spring-boot

我使用springboot和scala构建简单的webapp。我可以在我的应用程序中创建一个简单的rest API。我现在正在尝试添加一个过滤器来支持etags。但是,我没有成功。这是我的主应用程序的外观。我在这里设置过滤器时遗漏了什么吗?

object SampleApplication {
  def main(args: Array[String]) {
    println("SA:>>>>hello inside main");
    SpringApplication.run(classOf[Launcher]);
  }
}



@Configuration
@EnableAutoConfiguration
@ComponentScan
class Launcher extends SpringBootServletInitializer {
  println("SA:>>>>>>inside Launcher beg")

  override def onStartup(servletContext: ServletContext): Unit = {
    println("SA:>>>>inside Launcher onStartup")
    servletContext.addFilter("etagFilter","org.springframework.web.filter.ShallowEtagHeaderFilter").addMappingForServletNames(null,false,"/*");
    //super.onStartup(servletContext)
  }

  override def configure(app: SpringApplicationBuilder): SpringApplicationBuilder = {
    println("SA:>>>>> inside Launcher")
    app.sources(classOf[Launcher])
    //super.configure(app)
  }
}

1 个答案:

答案 0 :(得分:0)

感谢@M。 Deinum,在几分钟内完成了这项工作。过滤器可以与我的应用程序完美结合。

object SampleApplication {
  def main(args: Array[String]) {
    SpringApplication.run(classOf[SampleConfig]);
  }
}

@EnableAutoConfiguration
@Bean
@ComponentScan
@Configuration
class MyFilter extends ShallowEtagHeaderFilter{
}