Konfiguracja
UI nie ma żadnej konfiguracji na etapie builda: rozwiązuje specyfikację do wyrenderowania wyłącznie w czasie działania, jedną regułą z jednym nadpisaniem.
Jedna reguła, jedno nadpisanie
| Source | When | Example |
|---|---|---|
GET /api-json | Domyślnie: pasuje do tego, co SwaggerModule.setup() z @nestjs/swagger udostępnia obok Swagger UI | https://api.example.com/docs → fetches https://api.example.com/api-json |
?spec=<url> | Parametr zapytania: ma pierwszeństwo przed wartością domyślną, gdy jest obecny | https://docs.example.com/?spec=https://api.example.com/api-json |
CORS między różnymi origin
Jeśli UI jest serwowane pod innym origin niż API, użyj nadpisania ?spec= i upewnij się, że konfiguracja CORS API pozwala temu origin na GET dokumentu JSON.
Ta sama kwestia origin wraca przy wykonywaniu żądań: zobacz Try it out, jak jego proxy całkowicie omija CORS, bez dotykania konfiguracji samego API.
Wiele specyfikacji
Przekaż specs do DocfyUiModule.setup(), aby pozwolić użytkownikom przełączać się między kilkoma dokumentami OpenAPI bez opuszczania UI, przydatne, gdy jedna instancja docfy-ui ma obsługiwać wiele usług:
DocfyUiModule.setup('/docs', app, {
specs: [
{ name: 'Users service', url: 'https://users.example.com/api-json' },
{ name: 'Orders service', url: 'https://orders.example.com/api-json' },
],
});Każdy url jest pobierany po stronie klienta dokładnie tak samo jak domyślna specyfikacja /api-json (z tego samego origin albo nie, zgodnie z polityką CORS tamtego origin). Rozwijana lista pojawia się w panelu bocznym tylko, gdy skonfigurowane są dwie lub więcej specyfikacji. Pomiń specs całkowicie, a docfy-ui zachowuje się dokładnie jak wcześniej, żaden przełącznik nie jest renderowany.