我试图创建一个带有String参数的自定义路由的Web API方法,但这在应用程序启动时似乎出错 - 所以我甚至不需要点击路径或者应用程序破解的方法。
// Pass String to TMS and Return an ID
[System.Web.Http.HttpGet]
[System.Web.Http.Route("api/job/import/{import:string}")]
public int TmsImport(string import)
{
var TmsId = 0;
if (import.Length > 0)
{
TmsId = 1;
}
return (TmsId);
}
应用程序在Global.asx中打破了以下方法:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
当我将int传递给方法时,这种方法也有效,但它似乎无法识别名称' string'在参数中。我确实在这里看到了类似问题的答案:call to web api with string parameter - 但我无法弄清楚答案的变化在哪里?如果它来自JS或路由配置的调用?