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

SourceWhenExample
GET /api-jsonDomyślnie: pasuje do tego, co SwaggerModule.setup() z @nestjs/swagger udostępnia obok Swagger UIhttps://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 obecnyhttps://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:

main.ts
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.