Я пытаюсь реализовать Web Api контроллер ASP.NET, который поддерживает стандарт JsonApi (http://jsonapi.org/ в основном используемый ember.js)тир в URL (отображается на действия)
URL-адрес может содержать тир. Но соответствующее имя метода в коде C# может не содержать тире.
Мои Javascript пытаются POST к
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 });
}
Вы пробовали указать маршрут по атрибуту на своих действиях? '[Маршрут (" jsonapi/activity-exercise ")]' – Shelby115
Или '' '[ActionName (" activity-exercise ")]' ''? – Rob
Я предлагаю вам перейти на маршрутизацию «Атрибут» через маршрутизацию на основе условных обозначений, так как ваши URI хорошо ... нетрадиционные (по крайней мере, с точки зрения .NET) http://www.asp.net/web- api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2 # ENABLE –