带有额外参数的路由映射 c# net core
routemapping with extra parameters c# net core
如果可能的话,我想在控制器的路由属性中为我的其余部分添加更多参数api。当 运行 代码时,我如何 get/use 它们。
控制器的默认路由如下所示。
[路线("api/[controller]")]
我想做这样的事情
[路线("api/[language]/[controller]")]
然后将语言值传递给下一层。
所以我可以有一个默认语言,或者用户可以根据需要覆盖它。
您可以使用 [RoutePrefix] 属性为整个控制器设置通用参数:
请找到以下示例,其中包含具有属性 [RoutePrefix] 和方法 "GetDetails" 的 TestController。
[RoutePrefix("api/{language}/test")]
public class TestController : ApiController
{
[Route("GetDetails")]
public string GetDetails(string language)
{
// Use language string parameter here.
return language;
}
}
这里的RoutePrefix包含参数{language},适用于所有方法。在方法属性上使用波浪号 (~) 来覆盖路由前缀。
例如-[路线("~/api/test/GetAllDetails")]
我找到了 damienbod 在 net core api 中所做的关于语言处理的语言处理示例。这个问题的很好的例子是路由语言和额外参数。
如果可能的话,我想在控制器的路由属性中为我的其余部分添加更多参数api。当 运行 代码时,我如何 get/use 它们。
控制器的默认路由如下所示。
[路线("api/[controller]")]
我想做这样的事情
[路线("api/[language]/[controller]")]
然后将语言值传递给下一层。 所以我可以有一个默认语言,或者用户可以根据需要覆盖它。
您可以使用 [RoutePrefix] 属性为整个控制器设置通用参数:
请找到以下示例,其中包含具有属性 [RoutePrefix] 和方法 "GetDetails" 的 TestController。
[RoutePrefix("api/{language}/test")]
public class TestController : ApiController
{
[Route("GetDetails")]
public string GetDetails(string language)
{
// Use language string parameter here.
return language;
}
}
这里的RoutePrefix包含参数{language},适用于所有方法。在方法属性上使用波浪号 (~) 来覆盖路由前缀。
例如-[路线("~/api/test/GetAllDetails")]
我找到了 damienbod 在 net core api 中所做的关于语言处理的语言处理示例。这个问题的很好的例子是路由语言和额外参数。