看这个:
[Route("", Name = "GetChanges")]
Name参数的用途是什么?唯一有用的用法是,我可以在调用CreatedAtRoute时引用该动作,例如:
return CreatedAtRoute("GetChanges", new { id = model.ChangeId }, model);
那么RouteAttribute中“名称”的用例为何?
答案 0 :(得分:2)
我认为用例只是解决歧义问题。如果控制器上有两个以上可能以某种方式符合条件的动作,则该名称并不明确。我希望除非需要,否则不要使用名称,但是我可以看到组织也采用“尽管应该使用名称来明确解析”的方法。算不上是我的支持者,但是只要您需要,它就会存在。
答案 1 :(得分:0)
WebAPI本身不允许函数重载。因此,如果有两个具有相同名称但功能不同的函数(实现类中的重载),则 name 属性允许使用特定名称调用这些方法。
随之而来的是,类的命名可能受不同的编码标准的约束,而路由名称是那些暴露给客户端的名称,因此可能必须遵循不同的准则