C# Can';在.NET核心Web Api中设置路由
我试着做一个通用的方法来做一些事情。但是我得到了一个404和任何路由,即使我硬编码C# Can';在.NET核心Web Api中设置路由,c#,asp.net-core,asp.net-core-webapi,C#,Asp.net Core,Asp.net Core Webapi,我试着做一个通用的方法来做一些事情。但是我得到了一个404和任何路由,即使我硬编码{controller}像api/MyAwesomeController/img/{id}。我知道我做错了什么,请帮帮我 顺便说一句,我已经阅读并尝试过了。但我在这里 app.UseMvc(routes => { routes.MapRoute("media", "api/{controller}/img/{id}", defaults: new { controller = "Media",
{controller}
像api/MyAwesomeController/img/{id}
。我知道我做错了什么,请帮帮我
顺便说一句,我已经阅读并尝试过了。但我在这里
app.UseMvc(routes => {
routes.MapRoute("media", "api/{controller}/img/{id}",
defaults: new { controller = "Media", action = "Get" });
});
好的
[Route({tableName}/img/{id}]
属性到我的通用方法解决了我的问题。Thanx 2@Alexan告诉我我已经知道答案,并且对好心情非常满意。你应该像这样映射到你的控制器中
[Route("api/[controller]")]
[ApiController]
您的中间件应该用作路由的模板,并添加一些自定义路由
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action=Index}/{id?}");
});
最好为WebAPI执行属性路由:这是肯定的,但通用是Im的目标seeking@Dummy请张贴您的controller@Alexan好的,我明白了,我会在一小时内尝试ATTR,现在是晚餐时间)之后会发布结果