Routes 使用常规布线时,无需在招摇过市中操作

Routes 使用常规布线时,无需在招摇过市中操作,routes,swagger,swashbuckle.aspnetcore,Routes,Swagger,Swashbuckle.aspnetcore,我的目标是.NET Core 2.1,我不想使用路由属性,而是使用默认路由(所谓的常规路由)。这是我的启动代码: 公共类启动 { 公共启动(IConfiguration配置) { 配置=配置; } 公共IConfiguration配置{get;} public void配置服务(IServiceCollection服务) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); services.

我的目标是.NET Core 2.1,我不想使用
路由
属性,而是使用默认路由(所谓的常规路由)。这是我的
启动
代码:

公共类启动
{
公共启动(IConfiguration配置)
{
配置=配置;
}
公共IConfiguration配置{get;}
public void配置服务(IServiceCollection服务)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.AddSwaggerGen(c=>
{
c、 SwaggerDoc(“v1”,新的OpenApiInfo{Title=“API v1”,Version=“v1”});
});
}
公共无效配置(IApplicationBuilder应用程序,IHostingEnvironment环境)
{
app.UseSwagger();
app.UseMvc(路由=>
{
routes.MapRoute(
名称:“默认”,
模板:“api/{controller}/{action}”);
});
}
}
控制器很简单:

公共类值控制器:控制器库
{
[HttpGet]
公共行动结果获取()
{
返回新的[]{“value1”,“value2”};
}
}
我可以去
https://myurl/api/values/get
并且它可以工作(返回一个数组)。但是,当我打开
swagger.json
时,没有定义任何操作:

{
“openapi”:“3.0.1”,
“信息”:{
“标题”:“API V1”,
“版本”:“v1”
},
“路径”:{},
“组件”:{}
}

我怎样才能大摇大摆地承认传统路线?我正在使用Swashback 5.5.1生成swagger。

正如我所知,API Explorer不支持传统路由(这是Swashbackle的基础)

我的解决方案是使用chsakell的软件包