RouteAttribute中Name参数的用途是什么?

时间:2019-01-29 01:41:06

标签: asp.net asp.net-web-api

看这个:

[Route("", Name = "GetChanges")]

Name参数的用途是什么?唯一有用的用法是,我可以在调用CreatedAtRoute时引用该动作,例如:

return CreatedAtRoute("GetChanges", new { id = model.ChangeId }, model);

那么RouteAttribute中“名称”的用例为何?

2 个答案:

答案 0 :(得分:2)

我认为用例只是解决歧义问题。如果控制器上有两个以上可能以某种方式符合条件的动作,则该名称并不明确。我希望除非需要,否则不要使用名称,但是我可以看到组织也采用“尽管应该使用名称来明确解析”的方法。算不上是我的支持者,但是只要您需要,它就会存在。

答案 1 :(得分:0)

WebAPI本身不允许函数重载。因此,如果有两个具有相同名称但功能不同的函数(实现类中的重载),则 name 属性允许使用特定名称调用这些方法。

随之而来的是,类的命名可能受不同的编码标准的约束,而路由名称是那些暴露给客户端的名称,因此可能必须遵循不同的准则