这个错误发生的原因是在应用程序中存在多个 API 端点与同一 URL 匹配。为了解决这个问题,需要为每个固有模板添加确切的路由模板。
下面是一个代码示例:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller}/{action}/{id?}");
endpoints.MapControllerRoute(
name: "api",
pattern: "api/{controller}/{action}/{id?}");
});
在这个示例中,我们可以看到有两个固有模板分别是{controller}/{action}/{id?}
和api/{controller}/{action}/{id?}
。这两个固有模板都是针对不同的 URL 模式。
如果想要明确设置路由模板,请确保所有的路由都有独特的 URL。如果还是遇到了问题,请使用不同名称的路由来区分它们。