アクションにルーティングすることは可能ですか?
[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/」のようになります
おそらくプロパティがオプションであるため、アクションを呼び出しますが、プロパティパラメータは常にnullです。リクエストの本文で Name および ProductID 引数を渡そうとしましたが、プロパティは null のままです。アクションに 0..N の引数を渡したいので、「params」を使用します。
ルート テンプレートは次のとおりです。
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{CategoryId}/{option}/{*properties}",
constraints: new { CategoryId = @"\d+" },
defaults: new { option = RouteParameter.Optional, properties = RouteParameter.Optional }
);