在控制器的route属性中,如果可能,我想为我的rest api添加更多参数。我如何在运行代码时获取/使用它们。带有额外参数的routemapping c#net core
控制器的默认路由如下所示。
[路线( “API/[控制器]”)
,我想有不喜欢
[路线( “API/[语言]/[控制器]”)
然后将语言值传递给下一层。 所以我可以有一个默认语言或用户可以覆盖它,如果他想。
在控制器的route属性中,如果可能,我想为我的rest api添加更多参数。我如何在运行代码时获取/使用它们。带有额外参数的routemapping c#net core
控制器的默认路由如下所示。
[路线( “API/[控制器]”)
,我想有不喜欢
[路线( “API/[语言]/[控制器]”)
然后将语言值传递给下一层。 所以我可以有一个默认语言或用户可以覆盖它,如果他想。
我发现的语言处理该damienbod都做关于在网络核心API语言处理的例子。语言在路线和额外参数这个问题的好例子。
可以通过使用[RoutePrefix]属性设置为整个控制装置的通用参数:
请发现含有具有属性的TestController [RoutePrefix]和方法“GetDetails”下面的例子。
[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 /测试/ GetAllDetails”)]
谢谢,是的,我知道,但有越来越远的价值观不设定它们每一种方法。如http:// localhost:62564/api/test/Hindi/GetDetails – joakimja
您可以使用[RoutePrefix]属性为整个控制器设置一个通用属性: –
我已更新上述示例。 –