ルート テンプレートを設定しました。
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}/{*wildcard}",
defaults: new { id = RouteParameter.Optional }
);
コントローラのアクション シグネチャ:
public IEnumerable<object> Get(Int64 id,string abc)
URL http://mymachine.com/api/Individuals/1?abc=4と一致させようとしましたが、例外が発生します
{"$id":"1","Message":"エラーが発生しました。","ExceptionMessage":"オブジェクト参照がオブジェクトのインスタンスに設定されていません。","ExceptionType":"System.NullReferenceException", "StackTrace":" System.Web.Http.ValueProviders.Providers.RouteDataValueProvider.d__4.MoveNext() で\r\n
奇妙なことに、http://mymachine.com/api/Individuals?id=1&abc=4はコントローラー、アクション、およびパラメーターと一致します。
"api/{controller}/ {id} /{*wildcard}"の " {id} " が動くと思いました。
なんで?