Я работаю с 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-адресом.