Try it out

Esegui una richiesta reale dal browser, direttamente dalla pagina di un endpoint, con supporto all'autenticazione e un proxy same-origin per evitare CORS.

Utilizzo

Ogni pannello di richiesta di un endpoint ha un selettore di modalità Code / Try it out accanto ai tab dei linguaggi. Try it out è un form modificabile (URL base, parametri path/query/header, request body) che esegue una richiesta reale tramite executeRequest() e mostra il risultato in un tab Live accanto agli esempi di risposta dichiarati (formattato con indentazione quando il body è JSON, con un messaggio comprensibile invece di un errore grezzo in caso di fallimento di rete/CORS). L'URL base parte dalla prima voce dell'array servers[] del documento OpenAPI quando presente, ed è sempre liberamente modificabile.

Autenticazione

Gli endpoint con un requisito security ottengono un form di autenticazione inline, un campo per ogni schema dichiarato:

  • apiKey: va in un header o in un query param, secondo la posizione dichiarata.
  • http bearer / OAuth2 / OpenID Connect: accettano tutti un token che incolli direttamente; non viene eseguito alcun flusso OAuth.
  • http basic: si aspetta user:pass.

Le credenziali sono globali (condivise tra tutti gli endpoint che usano quello schema, come farebbe un vero token di sviluppo) e persistono in localStorage, così sopravvivono a un reload.

Quando una risposta Live andata a buon fine contiene un campo dalla forma di un token (ad es. l'access_token di un endpoint di login, anche annidato in un envelope come data.access_token), un pulsante "Use as … token" ti permette di riutilizzarlo come credenziale per il resto della sessione, senza copia-incolla manuale.

Proxy same-origin

Di default, Try it out esegue un fetch() diretto dal browser verso l'API di destinazione, soggetto alla policy CORS di quell'API. Quando DocfyUiModule.setup() di nestjs-docfy (vedi il riferimento API) è configurato con un documento OpenAPI, docfy-ui rileva la variabile globale iniettata window.__DOCFY_PROXY_PATH__ e instrada invece la richiesta attraverso un proxy server-side same-origin, così CORS non si applica mai.

La allowlist del proxy è costruita solo a partire dagli URL assoluti nell'array servers[] del documento. Non esiste un fallback implicito "stessa origine di questa richiesta", perché dipenderebbe da header controllati dal client. Una richiesta verso un'origine non permessa, o qualunque altro fallimento del proxy stesso, torna con un header di risposta X-Docfy-Proxy-Error, così docfy-ui può distinguere un fallimento a livello di proxy da una vera risposta della tua API.