0

我们一直在使用 mvc webapi beta 并正在尝试升级到 rc。

我们有以下路线(唯一的约束是验证 {id} 是一个整数):

"Api Verb with SubAction"   api/{controller}/{id}/{action}
"Api Verb with Id"          api/{controller}/{id}
"Api Verb without Id"       api/{controller}
"Api Action with Id"        api/{controller}/{action}/{id}
"Api Action without Id"     api/{controller}/{action}

以及以下控制器动作

public IList<PaymentMethodViewModel> GetList()
{}

public HttpResponseMessage Get(Guid id)
{}

[ActionName("Details")]
public IList<RecurrenceModel> GetDetails(Guid id)
{}

api/mycontroller、api/mycontroller/1、api/mycontroller/1/details 都在 beta 中正确返回。但是,升级到 MVC4 RC api/mycontroller/1 后,api/mycontroller/1/details 返回“找到与请求匹配的多个操作:”

4

1 回答 1

0

是的,我遇到了类似的问题,但找不到合适的原因。这显然是由于对路由实现的更改,但它的代码非常庞大,我还没有时间仔细研究它。

鉴于它将继续以这种速度发展,最好仅将内置路由机制仅用于默认{controller}/{id}样式的路由,而将AttributeRouting用于其他任何东西。

于 2012-07-03T21:00:38.690 回答