如何将所有OPTION请求映射到播放2中的某个控制器?

时间:2015-05-24 10:43:11

标签: java playframework routes

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

OPTIONS    /   @controllers.CORSController.preFlight

我还需要将所有OPTION请求路由到同一个控制器,如:

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

我如何通过一条路线或其他一些全局方式实现这一点(比如重写onRouteRequest方法?

谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用通配符路径捕获特定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("");
}