我不知道我需要用 MVC 路由做什么才能完成这项工作
这是我的一条路线:
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "{controller}/{id}/{action}",
defaults: new { id = RouteParameter.Optional, action = RouteParameter.Optional }
);
请求/Shipments/效果很好。
请求/Shipments/3/Packages效果很好。
然而,请求/Shipments/3失败并出现错误:
找到与请求匹配的多个操作:System.Linq.IQueryable`1[Api.Controllers.RequisitionsController+PackageRequisitionWithTracking] GetPackageRequisitions(Int32) on type Api.Controllers.RequisitionsController Api.Models.ShipmentRequisition GetShipmentRequisitions(Int32) on type Api.Controllers .RequestsController
它似乎无法区分:
// No ActionName
public ShipmentRequisition GetShipmentRequisitions(int id)
和
[ActionName("Packages")]
public IQueryable<PackageRequisitionWithTracking> GetPackageRequisitions(int id)
我会认为 get shipping by id 上缺少操作名称将允许该路线工作。