2016-09-28 3 views
0

Я пытаюсь передать значения конфигурации, чтобы загрузить одностраничное приложение AngularJs, размещенное в приложении MVC, которое использует WebApi (см. Ниже из представления Razor, это достигается путем наследования BasePage и зависимости, впрыскивающего службу Serializer/FinancialYears).Как получить список всех настроенных маршрутов WebApi в asp.net MVC?

<script> 
var angularInitConfig = @Html.Raw(Serializier.Serialize(new { 
        financialYears = FinancialYearsService.GetFinancialYears() 
       })); 
</script> 

Это прекрасно работает, но я бы очень хотел, чтобы иметь возможность расширить его включить маршруты из моего WebAPI приложения, чтобы избежать того, чтобы настроить конечные точки в обоих приложение WebAPI и приложение AngularJs индивидуально.

Пробираясь в классе RouteTable.Routes, я вижу, что требуемая информация доступна и доступна изнутри представления, однако я не смог ее извлечь.

Так что мне бы хотелось сделать это, сгенерировав набор объектов, как определено ниже, из класса RouteTable.Routes, сериализуйте их и выплюните в конфигурации bootstrap для приложения AngularJS.

new { 
    name = "SomeService", 
    route = "api/{financialYearId}/someservice", 
    method = "POST" 
} 

ли кто-нибудь есть идеи, как извлечь эту информацию из RoutesTable.Routes? Есть ли более простой способ генерации требуемых данных?

NB. Все WebAPI маршруты настроены явно с помощью атрибута Routes как таковой:

[HttpGet] 
[Route("api/{financialYearId}/someservice")] 
+0

Напишите сериализатор или используйте обобщенный, как Newtonsoft.Json. –

+0

Вы даже прочитали вопрос? Сериализация работает отлично, я хочу извлечь нужные данные из RouteTable.Routes и передать ее моему рабочему сериализатору, который будет передан обратно в Angular. –

+0

Да, я прочитал вопрос. Вам нужно написать код. Вы спрашиваете, как написать этот код? –

ответ

0

Если вы создаете шаблон по умолчанию asp.net Mvc или WebAPI с помощью Visual Studio, вы получите помощь в папке> Области \ HelpPage ... и если вы получаете доступ к своей заявке в: Http://yourportapplication/api/Help, если проект webapi ... , тогда вы можете увидеть код, как получить информацию ... только для начала, что вы ищете, ...

Смежные вопросы