Symfony 4:如何将所有OPTIONS请求路由至指定控制器方法
如何在Symfony 4中配置控制器接收所有路由的OPTIONS请求
刚好之前也碰到过类似的需求,你最初的写法问题在于Symfony的路由注解里直接写.*并不会被解析成匹配任意路径的正则表达式,所以没法捕获所有路由的OPTIONS请求。
正确的配置方式是通过路由占位符加上正则约束来实现,代码如下:
/** * @Route("{wildcard}", requirements={"wildcard": ".*"}, * methods={"OPTIONS"}) */ public function optionsRequestAction() { // 在这里编写你处理OPTIONS请求的逻辑即可 }
简单解释下这个配置的思路:
{wildcard}是一个路由占位符,我们通过requirements给它设置了.*的正则规则,这样就能匹配任意长度、任意内容的路径methods={"OPTIONS"}明确限定这个路由只响应OPTIONS类型的请求- 如果你不需要在方法里使用这个占位符的值,完全不用在方法参数里声明它,不影响功能正常运行
内容的提问来源于stack exchange,提问作者Jahresrueckblick
相关产品推荐
相关产品推荐

