如何将ASP.NET Core MVC全局路由前缀设置成一句长尾?

2026-03-31 06:380阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1705个文字,预计阅读时间需要7分钟。

ASP.NET Core MVC 全局路由配置,简洁易用。今天为大家介绍ASP.NET Core MVC的一个新特性,即全局路由前缀。为全局路由添加系统前缀。其实这不算新特性,只是Core MVC特有的。

ASP.NET Core MVC 配置全局路由前缀

前言

大家好,今天给大家介绍一个 ASP.NET Core MVC 的一个新特性,给全局路由添加统一前缀。严格说其实不算是新特性,不过是Core MVC特有的。

应用背景

不知道大家在做 Web Api 应用程序的时候,有没有遇到过这种场景,就是所有的接口都是以 /api 开头的,也就是我们的api 接口请求地址是像这样的:

www.example.com/api/order/333

或者是这样的需求

www.example.com/api/v2/order/333

在以前,我们如果要实现这种需求,可以在 Controller 中添加一个 [Route("/api/order")] 这样的特性路由 Attribute,然后MVC 框架就会扫描你的路由表从而可以匹配到 /api/order 这样的请求。

但是第二个带版本号的需求,原本 Controller 的 Route 定义是 [Route("/api/v1/order")],现在要升级到v2,又有上百个接口,这就需要一个一个修改,可能就会懵逼了。

现在,有一种更加简便优雅的方式来做这个事情了,你可以统一的来添加一个全局的前缀路由标记,下面就一起来看看吧。

IApplicationModelConvention 接口

首先,我们需要使用到 IApplicationModelConvention这个接口,位于 Microsoft.AspNetCore.Mvc.ApplicationModels 命名空间下,我们来看一下接口的定义。

阅读全文

本文共计1705个文字,预计阅读时间需要7分钟。

ASP.NET Core MVC 全局路由配置,简洁易用。今天为大家介绍ASP.NET Core MVC的一个新特性,即全局路由前缀。为全局路由添加系统前缀。其实这不算新特性,只是Core MVC特有的。

ASP.NET Core MVC 配置全局路由前缀

前言

大家好,今天给大家介绍一个 ASP.NET Core MVC 的一个新特性,给全局路由添加统一前缀。严格说其实不算是新特性,不过是Core MVC特有的。

应用背景

不知道大家在做 Web Api 应用程序的时候,有没有遇到过这种场景,就是所有的接口都是以 /api 开头的,也就是我们的api 接口请求地址是像这样的:

www.example.com/api/order/333

或者是这样的需求

www.example.com/api/v2/order/333

在以前,我们如果要实现这种需求,可以在 Controller 中添加一个 [Route("/api/order")] 这样的特性路由 Attribute,然后MVC 框架就会扫描你的路由表从而可以匹配到 /api/order 这样的请求。

但是第二个带版本号的需求,原本 Controller 的 Route 定义是 [Route("/api/v1/order")],现在要升级到v2,又有上百个接口,这就需要一个一个修改,可能就会懵逼了。

现在,有一种更加简便优雅的方式来做这个事情了,你可以统一的来添加一个全局的前缀路由标记,下面就一起来看看吧。

IApplicationModelConvention 接口

首先,我们需要使用到 IApplicationModelConvention这个接口,位于 Microsoft.AspNetCore.Mvc.ApplicationModels 命名空间下,我们来看一下接口的定义。

阅读全文