我不明白如何在JHipster中完成Swagger UI集成,因为当我复制/粘贴代码以将其放在不同的应用程序中时,它不起作用。
在navbar.component.html
中,点击API菜单时,它会使用docs
路由调用路由器:
<li *ngIf="swaggerEnabled">
<a class="dropdown-item" routerLink="docs" routerLinkActive="active" (click)="collapseNavbar()">
<i class="fa fa-fw fa-book" aria-hidden="true"></i>
<span jhiTranslate="global.menu.admin.apidocs">API</span>
</a>
</li>
docs
路线调用SpnDocsComponent
export const docsRoute: Route = {
path: 'docs',component: SpnDocsComponent
};
而docs.component.html
只是iframe swagger-ui/index.html
页面
<iframe src="swagger-ui/index.html" width="100%" height="900" seamless
target="_top" title="Swagger UI" class="border-0"></iframe>
一旦我复制了上面的所有代码,将其粘贴到非JHipster应用程序中,我就会收到错误:
Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'swagger-ui'
这是因为Angular路由器拦截swagger-ui/index.html
呼叫并查找swagger-ui
路由(不存在)。
这在JHipster中如何运作?是否有特定配置告诉路由器不要拦截此呼叫?