如何将所有 OPTION 请求映射到播放 2 中的某个控制器?
How to map all OPTION requests to a certain controller in play 2?
如何将所有 OPTION 请求路由到 play 2+ 中的某个控制器?
我在路线文件中有这条路线:
OPTIONS / @controllers.CORSController.preFlight
我还需要将所有 OPTION 请求路由到同一个控制器,例如:
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
方法来接受一个字符串参数,即使你不必在它的主体中使用它。
public Result preFlight(String path) {
// insert your body
}
public Result preFlight() {
return preFlight("");
}
如何将所有 OPTION 请求路由到 play 2+ 中的某个控制器? 我在路线文件中有这条路线:
OPTIONS / @controllers.CORSController.preFlight
我还需要将所有 OPTION 请求路由到同一个控制器,例如:
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
方法来接受一个字符串参数,即使你不必在它的主体中使用它。
public Result preFlight(String path) {
// insert your body
}
public Result preFlight() {
return preFlight("");
}