是否有可能采取行动?
[HttpGet]
public List<Product> GET(int CategoryId, string option, params string[] properties)
{
List<Product> result = new List<Product>();
result = BusinessRules.getProductsByCategoryId(CategoryId);
return result;
}
使 URL 看起来像“/api/Products/CategoryId/full/Name/ProductID/”
它调用该动作可能是因为属性是可选的,但属性参数始终为空。我什至尝试在请求正文中传递 Name 和 ProductID 参数,但属性仍然为空。我想使用“参数”,因为我想将 0..N 个参数传递给操作。
这是路线模板。
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{CategoryId}/{option}/{*properties}",
constraints: new { CategoryId = @"\d+" },
defaults: new { option = RouteParameter.Optional, properties = RouteParameter.Optional }
);