Mvc web api 路由生成问题
Mvc web api route generation issue
我正在尝试从我的一个网络 api 操作中生成一个 url:
var resultsModel =
results.Select(
r =>
new ResultModel(criteria,
r,
Url.Link("Default", new { Controller = "CV", Action = "Get", candidateid = r.CandidateId, filename = r.Name })
, false))
.ToList();
然而,生成的 url 缺少 "api/"
前缀,因此无法正常工作,因为 url 无法解析。
https://temp-search.recruiter.workstation.local/recruiter/temp-search/cv/get?candidateid=14350164&filename=Douggersby%20Mondays&id=143501
以下是我的网站api配置:
public static void Register(HttpConfiguration config)
{
config.MessageHandlers.Add(new AuthorizationHandler());
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
您指的是 'Default' 路线而不是 'DefaultApi' 路线。
而不是:
Url.Link("Default", new { Controller = "CV", Action = "Get", candidateid = r.CandidateId, filename = r.Name })
, false))
使用:
Url.Link("DefaultApi", new { Controller = "CV", Action = "Get", candidateid = r.CandidateId, filename = r.Name })
, false))
并且 'DefaultApi' 路由模板将用于生成 url,包括 api/ 前缀。
我正在尝试从我的一个网络 api 操作中生成一个 url:
var resultsModel =
results.Select(
r =>
new ResultModel(criteria,
r,
Url.Link("Default", new { Controller = "CV", Action = "Get", candidateid = r.CandidateId, filename = r.Name })
, false))
.ToList();
然而,生成的 url 缺少 "api/"
前缀,因此无法正常工作,因为 url 无法解析。
https://temp-search.recruiter.workstation.local/recruiter/temp-search/cv/get?candidateid=14350164&filename=Douggersby%20Mondays&id=143501
以下是我的网站api配置:
public static void Register(HttpConfiguration config)
{
config.MessageHandlers.Add(new AuthorizationHandler());
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
您指的是 'Default' 路线而不是 'DefaultApi' 路线。
而不是:
Url.Link("Default", new { Controller = "CV", Action = "Get", candidateid = r.CandidateId, filename = r.Name })
, false))
使用:
Url.Link("DefaultApi", new { Controller = "CV", Action = "Get", candidateid = r.CandidateId, filename = r.Name })
, false))
并且 'DefaultApi' 路由模板将用于生成 url,包括 api/ 前缀。