如何将所有OPTION请求路由到play 2+中的某个控制器? 我在路线文件中有这条路线:
OPTIONS / @controllers.CORSController.preFlight
我还需要将所有OPTION请求路由到同一个控制器,如:
OPTIONS /dev/upload @controllers.CORSController.preFlight
OPTIONS /some/path @controllers.CORSController.preFlight
...
我如何通过一条路线或其他一些全局方式实现这一点(比如重写onRouteRequest方法?
谢谢
答案 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("");
}