我需要一些關於api路由的幫助。有我的代碼:需要幫助關於Api路由
WebApiConfig.cs;
public static void Register(HttpConfiguration config)
{
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}/{no}",
defaults: new { id = RouteParameter.Optional, no = RouteParameter.Optional }
);
}
RouteConfig.cs;
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name:"UserControl",
url:"{controller}/"
);
}
Global.asax.cs;
GlobalConfiguration.Configure(WebApiConfig.Register);
這是我的api;
public object GetParselNo(int id, int no)
{
List<TapuParselModel> parselList = TapuModule.GetParselListFromMahalleAndAdaTapuKod(id, no.ToString());
List<string> parselNoList = parselList.Select(x => x.ParselNo).ToList<string>();
parselNoList = parselNoList.OrderBy(x => x, new AlphanumComparator()).ToList();
var jsonResult = SConvert.SerializeJSON(parselNoList);
return jsonResult;
}
現在它是這樣工作的。但是api url是; http://localhost:55591/Api/TapuParselApi/GetParselNo/146436/80
我想看到URL like; http://localhost:55591/Api/TapuParselApi/GetParselNo/MahalleId/146436/AdaNo/80
它意味着MahalleId = 146436和AdaNo = 80。我嘗試了我的ApiController的路由屬性。但是這次Global.asax.cs發生異常。然後嘗試刪除Global.asax.cs中的行;這次API不起作用。我該怎麼辦??有人知道嗎?謝謝...
謝謝它的工作 – CoderWho