.NET Core Web API:可以在 appsettings.json 配置文件中分配控制器路由吗?
.NET Core Web API: Possible to assign controller route in appsettings.json config file?
我希望通过配置文件 (appsettings.json) 动态分配我的 Web API 控制器的路由。
我认为这可能是一个简单的解决方案。然而,尝试这个 [毫不奇怪] 不起作用:
private static string route = Configuration.GetValue<string>("Path");
[Route(route)]
// action
这导致 An attribute argument must be a constant expression, typeof expression, or array creation expression of an attribute parameter type
有没有可能做我想做的事?如果是这样,这样做的最佳做法是什么?我找不到太多关于它的文档,并且不想自己动手 HttpListener
来完成一个相对简单的目标。
原来是我想多了
在Startup
public void Configure(IApplicationBuilder app)
{
// basic stuff
var config = services.GetService<IConfiguration>();
string route = config.GetValue<string>("Path");
app.UseMvc(routes => {
routes.MapRoute("someName", route, new { controller = "myController", action = "myAction"});
});
}
简单易行。
我希望通过配置文件 (appsettings.json) 动态分配我的 Web API 控制器的路由。
我认为这可能是一个简单的解决方案。然而,尝试这个 [毫不奇怪] 不起作用:
private static string route = Configuration.GetValue<string>("Path");
[Route(route)]
// action
这导致 An attribute argument must be a constant expression, typeof expression, or array creation expression of an attribute parameter type
有没有可能做我想做的事?如果是这样,这样做的最佳做法是什么?我找不到太多关于它的文档,并且不想自己动手 HttpListener
来完成一个相对简单的目标。
原来是我想多了
在Startup
public void Configure(IApplicationBuilder app)
{
// basic stuff
var config = services.GetService<IConfiguration>();
string route = config.GetValue<string>("Path");
app.UseMvc(routes => {
routes.MapRoute("someName", route, new { controller = "myController", action = "myAction"});
});
}
简单易行。