首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

request()->route()->getName()在嵌套路由组上返回错误的值

问题描述: 在嵌套路由组上使用request()->route()->getName()返回错误的值。

解决方案: request()->route()->getName()是Laravel框架中用于获取当前路由的名称的方法。在嵌套路由组中使用该方法可能会返回错误的值,这是因为在嵌套路由组中,路由名称会被自动添加前缀。

为了解决这个问题,可以使用as方法为路由组指定一个名称前缀,然后在获取路由名称时加上该前缀。以下是解决方案的具体步骤:

  1. 在定义嵌套路由组时,使用as方法为路由组指定一个名称前缀。例如:
代码语言:txt
复制
Route::prefix('admin')->as('admin.')->group(function () {
    // 嵌套路由组中的路由定义
});
  1. 在获取路由名称时,加上前缀。例如:
代码语言:txt
复制
$routeName = request()->route()->getName();
$prefixedRouteName = 'admin.' . $routeName;

这样就可以正确地获取到带有前缀的路由名称。

推荐的腾讯云相关产品: 腾讯云提供了丰富的云计算产品和服务,以下是一些与问题相关的产品和产品介绍链接:

  1. 云服务器(CVM):提供弹性计算能力,支持多种操作系统和应用场景。详情请参考腾讯云云服务器
  2. 云数据库 MySQL 版(CDB):提供高可用、可扩展的 MySQL 数据库服务。详情请参考腾讯云云数据库 MySQL 版
  3. 云存储(COS):提供安全可靠的对象存储服务,适用于存储和处理各类非结构化数据。详情请参考腾讯云云存储

请注意,以上推荐的产品仅供参考,具体选择应根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

4k字介绍 React Router 6.4 超大变化:引入 Data API。你不纯粹了!

「该路由对应element」内,可以使用 hook useLoaderData (下文会介绍)来获取这个函数返回(通常是http请求response)。...时,就可能拿到错误。..., }); }}/>2.2.2 loader 返回函数返回,将可以element中通过hook useLoaderData (下文会介绍)来获取。... loader 返回React 组件可以嵌套,也可以嵌套,这时可以通过该 hook 获取其它 loader 返回。...因为 Response 异常 通常是开发者自己抛出,是可以展示原因(包括后端接口返回错误码和错误提示文案,也可在这里处理)。其它异常,通常是未知,就直接展示兜底报错文案即可。

5.7K61

laravel 学习之路 路由与控制器

这样我们浏览器访问就可以看到返回响应 ? 路由分组 多么完美但是如果你和我一样帅,一样懒,你回发现三条路由都是 test/ 未前缀,路由中应该减少这样重复但是怎么做呢?...路由允许你大量路由之间共享路由属性,例如中间件或命名空间,而不需要为每个路由单独定义这些属性。共享属性应该以数组形式传入 Route::group 方法第一个参数中。...嵌套尝试智能地「合并」其属性及其父。中间件和 where 条件语句附加名称、命名空间和前缀时被合并。...适当情况下,命名空间分隔符和斜线会被自动添加到 URI 前缀中 我们先来定义一个前缀路由,上面这3条路由就可以改造成这个样子了 Route::prefix('test2')->group(function...定义路由时候我们是可以定义路由参数,我们接着上面的路由加一个 edit ,我们定义路由时候用花括号包一个变量名那这个变量就可以直接传到控制器方法中然后地址栏传什么控制器中就可以接到什么为了方便测试我们在这个方法中返回

98210

框架 | spray-routing核心流程

最近我们一个项目使用spray来发布restful service。 spray是个性能很好而且功能非常完整service框架,包含很多组件,从底层http服务器到高层rest路由DSL都有。...据spray-routing文档里说是为了”non-blocking"和"actor friendly",但实际spray后续版本,也就是akka-http里把这个返回类型改成了RouteResult...,有点像嵌套模式匹配。...看上去好像我们只定义了正常处理逻辑,实际是我们spray路由入口runRoute这个方法偷偷做了默认处理: def runRoute(route: Route)(implicit eh: ExceptionHandler...: case Timedout(request: HttpRequest) ⇒ runRoute(timeoutRoute)(eh, rh, ac, rs, log)(request) 默认拒绝实现对于常见拒绝原因都给出正确错误码和不错返回信息

1.4K60

Spring Boot : 使用 Zuul 实现 API Gateway 路由和过滤 ( Routing and Filtering )应用场景配置管理稳定性完整示例

image 就像上图中所描述一样,Zuul 提供了四种过滤器 API,分别为前置(Pre)、后置(Post)、路由Route)和错误(Error)四种处理方式。...一个请求会先按顺序通过所有的前置过滤器,之后路由过滤器中转发给后端应用,得到响应后又会通过所有的后置过滤器,最后响应给客户端。整个流程中如果发生了异常则会跳转到错误过滤器中。...路由过滤器一般只需要选择 Zuul 中内置即可,错误过滤器一般只需要一个,这样可以 Gateway 遇到错误逻辑时直接抛出异常中断流程,并直接统一处理返回结果。...,错误过滤器捕获到这个异常后,就可以统一进行返回封装,并直接结束该请求。...也就是我们重写 filterType 这个方法时返回: @Override public String filterType() { return "pre";

1.3K20

Spring Cloud Gateway 之 Predict

笔者调用了Spring Cloud Gateway使用和功能上,Spring Cloud Gateway替换掉Zuul成本是非常低,几乎可以无缝切换。...Predicate 介绍 Predicate 来源于 Java 8,是 Java 8 中引入一个函数,Predicate 接受一个输入参数,返回一个布尔结果。.../get -H "X-Request-Id:111111" 则正常返回,将参数 "X-Request-Id:111111" 改为 "X-Request-Id:xxxx" 再次执行时返回404。...通过 Host 匹配 Host Route Predicate 接收一参数,一匹配域名列表,这个模板是一个 ant 分隔模板,用.号作为分隔符。它通过参数中主机地址作为匹配规则。...:111111" -H "Host:www.httpbin.com" --cookie "name=chengxuyuanguoguo" 测试返回正确,错误规则或去除一个规则,则会报 404 错误

88630

React框架 Router

版本更新内容 推出了很多好用hooks,但是路由组件内props三个实用属性去掉了。 = = 重命名为。 新特性变更。 嵌套路由变得更简单。...常用路由组件和hooks 组件名 作用 说明 一路由 代替原有,所有子路由都用基础Router children来表示 基础路由 Router是可以嵌套...返回当前参数 根据路径读取参数 useNavigate 返回当前路由 代替原有V5中 useHistory useOutlet 返回根据路由生成element useLocation 返回当前...嵌套路由 ​ 1.注册子路由时要写上父路由path ​ 2.路由匹配是按照注册路由顺序进行 2.9....(2).HashRouter刷新后会导致路由state参数丢失!!! ​ 4.备注:HashRouter可以用于解决一些路径错误相关问题。

10600

3分钟短文 | Laravel 灵活地获取当前请求路由地址

对象,所以也可以下面这样链式调用: Request::route()->getName(); Laravel 5.1 内这样写: use Illuminate\Support\Facades\Route...代码如下: Route::getCurrentRoute()->getActionName(); 如果要获取整个路由包括协议,域名,路由,请求参数,锚点这些信息,可以返回 path, // https:...//example/foo/bar$uri = $request->path(); 如果仅仅是 uri 字符串,则使用 $url = $request->url(); 如果要筛选特定字符串匹配路由地址...,可以使用 is 方法进行匹配验证: if ($request->is('admin/*')) { } 星号是通配符,返回所有匹配项。...= Route::currentRouteAction(); 写在最后 本文通过多个版本,多个方法比对,演示了程序内获取当前请求路由地址,资源地址,方法名等等方式, 路由分配,权限控制中可以灵活使用

1.3K20

$router和$route区别

defaultnew Router(/*...*/)路由实例,通过$route可以访问当前激活路由状态信息,包含了当前URL解析得到信息,还有URL匹配到路由记录,可以将$router理解为一个容器去管理了一...允许current路由附加路径,如同 router-link。...$router.onError(callback): 注册一个回调,该回调会在路由导航过程中出错时被调用,被调用错误必须是下列情形中一种,错误一个路由守卫函数中被同步抛出、错误一个路由守卫函数中通过调用...$route.query: 返回一个key-value对象,表示URL查询参数。 $route.hash: 返回当前路由带#hash,如果没有hash,则为空字符串。...$route.matched: 返回一个数组,包含当前路由所有嵌套路径片段路由记录,路由记录就是routes配置数组中对象副本。

1.1K30

Laravel源码解析之Response

之前两篇文章分别讲了Laravel控制器和Request对象,Request对象那一节我们看了Request对象是如何被创建出来以及它支持方法都定义在哪里,讲控制器时我们详细地描述了如何找到...request, $route->run() ); }); } } 讲控制器那一节里我们已经提到过...响应定义 通过 prepareResponse中逻辑可以看到,无论路由执行结果返回是什么最终都会被Laravel转换为成一个Response对象,而这些对象都是Symfony\Component...content))); } $this->content = (string) $content; return $this; } } 所以路由处理程序返回创业...Response对象时会设置到对象content属性里,该属性就是返回给客户端响应响应内容。

1.4K40

Laravel源码笔记(二)路由

二、路由加载与规则解析         定义一条最基本路由规则语法很简单,调用Facade门面Route某个静态方法即可(本质是调用了已经注册服务容器中路由器router实例api,不清楚...,路由内共享路由属性,甚至还可嵌套路由。...实际,所有 laravel 路由都定义在位于 routes 目录下路由文件中,这些文件内路由被laravel视为一个大路由RouteService启动过程中通过Route门面加载出来(所以路由配置文件不需要声明对...其次,这里用到了一步获取第一个可选参数位置,因为子命名语法中规定: 若当前路由参数不是可选参数时候,正则表达式就是固定模式,例如:/(?...),这里是带非捕获子命名非贪婪模式匹配,因此将返回一个一系列以参数名为索引子匹配

7.4K40

React Router初学者入门指南(2023版)

Routes 内,您可以嵌套所有的 Route 组件,然后浏览网站时, Routes 会获取当前URL,并将其与每个子路由组件进行匹配,以找到与之对应最佳组件。...嵌套路由 React Router中,嵌套可以被视为路由之间建立父子连接。这可以用来组织共享相同URL路径路由。...嵌套路由使用一个 Route 组件作为父路由,另一个 Route 组件用于定义父路由路由。因此,只有路由时才能渲染子路由。...基本, useParams hook 返回一个包含来自 Route 组件动态对象,该可以负责渲染动态内容组件中使用。...“ancient”是动态路径,并且可以通过从 useParams 提取 type 变量进行访问。 由于嵌套路由结构, 组件内 被渲染出来。

44231

Spring5---新特性(WebFlux)

传统web框架,比如springmvc,这些是基于servlet容器,webflux是一种异步非阻塞框架,异步非阻塞框架是servlet 3.1 以后才支持,核心是基于Reactor相关API...N个元素; Mono实现发布者,返回0或者1个元素 3.Flux和Mono都是数据流发布者,使用Flux和Mono都可以发出三种数据信号:元素错误信号,完成信号; 错误信号和完成信号都代表终止信号...,终止信号用于告诉订阅者数据流结束了,错误信号终止数据流同时把错误信息传递给订阅者 ---- 代码演示Flux和Mono 首先导入Reactor核心包依赖: ...,两个不能共存 如果没有发送任何元素,而是直接发送错误或者完成新型,表示是空数据流 如果没有错误信号,没有完成信号,表示是无限数据流 ---- 调用just或者其他方法只是声明数据流,数据流并没有发出...) { //获取id int userId=Integer.valueOf(request.pathVariable("id")); //空处理

1.5K20

Route加载流程

Route加载 网关服务核心功能是路由转发,即将接收请求如何正确路由到下层具体服务模块。下面分析下这些路由信息构建流程。...,Gateway将其加载解析最终在内存中数据结构Route: public class Route implements Ordered { /** * 路由编号 * ID...: id:路由编号,唯一 uri:路由 URI,对应具体业务服务URL order:顺序,当请求匹配多个路由时,使用顺序小 predicate: 请求匹配路由断言条件 gatewayFilters...: 当前路由存在过滤器,用于对请求做拦截处理 流程分析 1、路由配置加载 通过@ConfigurationProperties("spring.cloud.gateway")配注解将配置文件中路由规则信息加载到...apply(Config config),输入初始化完成Configuration实例,一般通过匿名内部类方式构建一个GatewayFilter进行返回,这个GatewayFilter封装就是我们需要实现业务逻辑

75910

一文学透微服务网关 Spring Clud Gateway 用法

Spring WebFlux实现异步非阻塞问题,性能和资源利用率,都有了质提升。...Route路由):网关配置基本组成模块,和Zuul路由配置模块类似。一个Route模块由一个ID、一个目标URI、一断言和一过滤器组成。如果断言为真,则路由匹配,目标URI会被访问。...hello=world 测试可以返回正确页面代码。如果将 hello 属性改为 ok, 再次访问就会报 404 错误,证明路由需要匹配正则表达式才会进行路由。...我们再以 POST 方式请求测试。 curl -X POST http://localhost:8080 返回 404 错误表示没有找到,证明没有匹配上路由。...Host Route Predicate 接收一参数,一匹配域名列表。

97120
领券