URL изменения пользовательского интерфейса Swagger - PullRequest
0 голосов
/ 04 августа 2020

Я работаю с Angular 10 и swagger-ui (swagger-ui-dist) 3.31.1 . Я создал свое приложение в соответствии с { ссылка }. И он отлично работает с одним stati c URL в конфигурации SwaggerUIBundle :

export class SwaggerComponent implements OnInit {
   
  constructor() { }

  ngOnInit(): void {
    const ui = SwaggerUIBundle({
      ...
      url: some/url/right/here,
      ...
  }
}

Но у меня проблема с динамическим c one. Позволь мне объяснить. У меня есть один компонент ( SwaggerComponent ), который отвечает за представление API. Учтите, у меня есть несколько разных API (с соответствующими URL-адресами), и теперь мой URL-адрес - это просто шаблон, основанный на данных ActivatedRoute :

export class SwaggerComponent implements OnInit {
   
  constructor(private route: ActivatedRoute) { }

  ngOnInit(): void {
    const ui = SwaggerUIBundle({
      ....
      url: some/url/right/here + this.route.snapshot.data.apiSuffix,
      ....
    });
  }
}

Где data.apiSuffix - это просто часть URL-адреса. Мои данные маршрутизации могут быть изменены с помощью пунктов меню или с помощью компонента выбора с различными параметрами или с помощью чего-то еще.

Проблема :

Работает только при первой загрузке. Когда я пытаюсь загрузить компонент другим маршрутом (щелкните другой пункт меню или выберите другой вариант в выбранном компоненте), у меня есть только пустая страница без каких-либо ошибок в консоли. Я также проверил в режиме отладки, что мое назначение const ui = ... было успешно выполнено с действительным URL-адресом.

...