0
我嘗試實施支持(主要由Ember.js http://jsonapi.org/)的JsonApi標準短跑的URL(映射到該動作)
一個ASP.NET網頁API控制器的URL可能包含一個破折號。但是C#代碼中相應的方法名稱可能不包含破折號。
我的JavaScript嘗試發佈到
http://localhost:50000/jsonapi/activity-exercises
但我不能夠實現,可以收到該請求的端點。 我曾嘗試:
[HttpPost]
public HttpResponseMessage ActivityExercises([FromBody] ActivityExerciseEntry value)
{
// ...
理想的情況下應該有一個屬性添加到方法指定的URL映射動作名稱。這種屬性是否存在?
我的路由映射是這樣的:
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapHttpRoute("EmberJsonApi", "jsonapi/{action}/{id}", new { controller = "JsonApi", id = RouteParameter.Optional });
routes.MapHttpRoute("DefaultApi", "api/{controller}/{id}", new { id = RouteParameter.Optional });
}
您是否試過在動作中指定通過屬性的路徑? '[Route(「jsonapi/activity-exercises」)]' – Shelby115
或'''[ActionName(「activity-exercises」)]'''? – Rob
我建議你切換到「基於約定」路由的「屬性」路由,因爲你的URI很好......非傳統(至少就.NET而言)http://www.asp.net/web- api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2#ENABLE –