java - 如何将所有 OPTION 请求映射到游戏 2 中的某个 Controller ?

标签 java playframework routes

如何将所有 OPTION 请求路由到 play 2+ 中的某个 Controller ? 我在路线文件中有这条路线:

OPTIONS    /   @controllers.CORSController.preFlight

我还需要将所有 OPTION 请求路由到同一个 Controller ,例如:

OPTIONS /dev/upload  @controllers.CORSController.preFlight
OPTIONS /some/path   @controllers.CORSController.preFlight
...

我如何通过一条路由或其他某种全局方式(例如覆盖 onRouteRequest 方法)来实现这一目标?

谢谢

最佳答案

您可以使用通配符路径来捕获特定 HTTP 方法的所有路由,如下例所示:

OPTIONS   /*path  @controllers.CORSController.preFlight(path)
OPTIONS   /       @controllers.CORSController.preFlight

请注意路由定义中的 path 参数,该参数是编译路由文件所必需的。您必须添加一个重载的 preFlight 方法来接受 String 参数,即使您不必在其主体中使用它。

public Result preFlight(String path) {
    // insert your body
}

public Result preFlight() {
    return preFlight("");
}

关于java - 如何将所有 OPTION 请求映射到游戏 2 中的某个 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30422594/

相关文章:

java - Kotlin 类的 java 接口(interface)的实现

javascript - 我如何在 Play! 的 javascript 中使用自定义模板标签?框架?

playframework - 无法导出 Play !作为 war 的应用程序

ruby-on-rails - 具有命名空间和格式的 Rails 路由(用于 api)

ruby-on-rails - Rails 路由顺序会影响性能吗?

java - ConcurrentHashMap 在 Guava /咖啡因/中计算?缓存

java - 如何向 MQ 服务器运行消息并获取输出消息

routes - CCNA 路由和交换

java - 多个 JSlider 激活和停用 - 共享值

java - Play Framework 2.4 (Java) + Hibernate + JUnit : org. hibernate.engine.jdbc.spi.SqlExceptionHelper - 池已关闭