繁体   English   中英

许多ASP.net WebAPI路由

[英]Many ASP.net WebAPI routes

刚开始一个项目,该项目将使用许多WebAPI端点,并且对路由有一些疑问。 由于将有许多方法具有不同的参数名称,因此我考虑过的解决方案是添加具有不同参数名称的不同路由。

问题是我在各种ApiController类中定义的所有方法的签名都类似于

public string SomeMethod(string token, string id);
{
    //method body
}

我想使用其他方法:

public string SomeMethod1(string token, string logType)
{
    //method body
}
public string SomeMethod2(string token, string name)
{
    //method body
} ....etc

我想避免必须将参数名称定义为“ id”的每个方法定义为使路由匹配并绑定到ApiController类中的相应方法。

在WebAPI路由配置中添加许多路由是一种可接受的做法,这样,具有不同参数名称的不同参数将绑定到正确的方法。

如果我在config类中有很多路由,会影响整体性能吗?

有没有更好的方法来实现我要在这里实现的目标?

听起来您主要关心的是在a)需要多个路由定义与b)具有'id'参数名称的单个路由之间进行权衡。 尽管我怀疑许多路由的性能影响很大,但为了减少代码数量,我倾向于使用单个路由定义。 您不必调用参数“ id”,但是它必须相同。 也许像“参数”这样的通用名称:

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{token}/{argument}",
    defaults: new { controller = "Blah", action = "SomeMethod" });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM