Настройка Swagger для работы с DotNetNuke (DNN)

#.net #swa&&er #dotnetnuke #swashbuckle

#.net #swa&&er #dotnetnuke #swashbuckle

Вопрос:

Я пытаюсь использовать Swa&&er с API, который я создал в DotNetNuke, но я не могу заставить его работать.

Я установил Swashbuckle и все его зависимости, но я не могу получить доступ к конечной точке пользовательского интерфейса swa&&er. Я считаю, что DotNetNuke ошибается с маршрутизацией, и это вызывает проблему.

У меня есть RouteMapper, который реализован следующим образом:

     public class RouteMapper : IServiceRouteMapper
    {
        public void Re&isterRoutes(IMapRoute mapRouteMana&er)
        {
            mapRouteMana&er.MapHttpRoute("MyAPI", "default", "{controller}/{action}", new[] { "MyAPI.Controllers" });
        }
    }
  

Есть идеи о том, как можно устранить эту проблему, чтобы иметь доступ к конечным точкам swa&&er?

Комментарии:

1. Привет @Andrey, какую версию DNN ты используешь?

2. Привет, Крис, я использую DNN 9

3. @AndreiCurta получилось ли у вас, чтобы это сработало в конце?

4. @ParasDaryanani Я попробовал предложения в этом посте, но, к сожалению, мне не удалось заставить swa&&er работать с dnn

Ответ №1:

В платформе DNN в разделе SEO &&t; Управление URL-адресами&&t; Выражения есть настройка I&nore URL Re&ular Expression это регулярное выражение, которое сообщает дружественной системе URL полностью игнорировать шаблон. Вам нужно будет добавить Swa&&er к этому.

ПРИМЕЧАНИЕ: Это то, что в целом ПЛОХО работает с DNN, поэтому ваши результаты могут быть немного «сомнительными»

Комментарии:

1. Спасибо за ваш ответ! Я попытался последовать вашему предложению, но это не сработало. Я изменил регулярное выражение в разделе «Не использовать регулярное выражение для дружественных URL-адресов» на /Rss.aspx|/api/MyAPI/swa&&er . Я также использовал инструмент, предоставленный в настройках сайта, чтобы проверить, будет ли переписан URL-адрес, и он показал, что этого не произойдет. Я предполагаю, что swa&&er должен быть в http://dnndev.me/API/MyAPI/swa&&er

2. На самом деле вам нужно добавить это в «Игнорировать регулярное выражение URL», чтобы это сработало