Quando costruisco il mio file swagger.json non so quale host usare. Comunque posso risolverlo quando la mia pagina che ospita carichi swaggerui (in effetti potrei voler offrire all'utente una scelta). Speravo di vedere un options.host sulla configurazione per l'oggetto swaggerUI - Non ne vedo uno. Esiste un modo esistente di fare ciò che non riesco a trovare o devo semplicemente passare attraverso il codice e aggiungere questa capacità (puntatori al posto migliore per farlo sarebbe benvenuto)Il modo migliore per dire a swaggerui dove l'host è
risposta
due modi
Uno modificare swagger.js in modo che l'opzione ospite accetta. swagger-UI passa le opzioni a swagger-js in modo che funzioni. Ho inviato un pull a swagger-js con questa correzione
La seconda scelta è che swagger-UI accetta un parametro "spec". Ciò significa che la pagina di hosting può caricare il file swagger.json, JSON.parse, impostare 'host' al suo interno e quindi passare al costruttore swaggerUi. Questo è più difficile per il chiamante, ma non richiede modifiche al codice di spavalderia
Nel caso in cui le persone volessero monitorare lo stato della richiesta di ricezione @ pm100, si trova all'indirizzo https://github.com/swagger-api/swagger-js/pull/510#issuecomment-121776076 – Gillingham
Swagger ha un built-in in json definition per host config, o può accettare più input.
{
"swagger": "2.0",
"info": {
"title": "Why API",
"description": "Don't make that mistake again",
"version": "0.0.1"
},
"host": "127.0.0.1:3000",
"schemes": [
"https"
]
}
O
"host": "test.mydomain.com:3000",
"schemes": [
"https"
],
Oppure si può avere una serie dinamica definendo un var e chiamando un nome host o di una macchina o di altre variabili d'ambiente.
esempio dinamica
if (typeof this.host === 'undefined' || this.host === '') {
this.host = location.host;
}
if (location.port) {
this.host = this.host + ':' + location.port;
}
la prima parte non corrisponde a quello che mi serve. Non conosco l'host nel momento in cui scrivo swagger.json. La seconda parte dice fondamentalmente di cambiare il codice in swagger-js/lib/client.js. Senza dire quale sia la mod - in effetti ho risolto questo problema e ho inviato un pull a quel file – pm100
Suggerisci che questa risposta debba essere rimossa poiché non affronta ciò che l'OP sta effettivamente chiedendo, come indicato sopra. –
Ecco quello che faccio, dal momento che il caricata nel documento è solo un oggetto JSON:
var swaggerDoc = require('./api/swagger.json');
if (process.env.NODE_ENV === 'development') {
swaggerDoc.host="localhost:" + process.env.PORT
}
// Initialize the Swagger middleware
swaggerTools.initializeMiddleware(swaggerDoc, function (middleware) {
// Other initialization
}
In questo modo non inquinare le specifiche API con la configurazione dell'ambiente di sviluppo.
Questo è quanto ho fatto questo utilizzando il client Java:
DefaultApi api = new DefaultApi();
api.getApiClient().setBasePath("http://localhost:8080");
//call the API
Nelle versioni recenti di Swagger interfaccia utente è possibile fare questo, per esempio in onComplete:
window.swaggerUi.api.setHost("your.host:4242");
Se lo stiamo ospitando sullo stesso server delle app, basta rimuovere la chiave dell'host da json e fornire il percorso relativo nella chiave "basePath". as - "basePath": "/ rest/createcampaign".
- 1. Il modo migliore per scendere a Jmeter?
- 2. REGEX, il modo migliore per imparare è
- 3. Come dire a bundler dove si trova il Gemfile?
- 4. Qual è il modo migliore per testare un'app per rails?
- 5. Qual è il modo migliore per ridimensionare un oggetto BitmapData?
- 6. Goroutine ricorsive, qual è il modo migliore per dire a Go di smettere di leggere dal canale?
- 7. Qual è il posto migliore per iniziare a imparare Qt?
- 8. qual è il modo migliore per implementare hashCode()?
- 9. Qual è il modo migliore per documentare il codice f #?
- 10. Qual è il modo migliore per autorizzare una chiavetta USB
- 11. Qual è il modo migliore per rilevare il colore bianco?
- 12. Qual è il modo migliore per passare alla codifica MVC?
- 13. Qual è il modo migliore per organizzare più sottoview?
- 14. Qual è il modo migliore per riutilizzare il parser Lua?
- 15. Qual è il modo migliore per scambiare i contenuti Xcode per progetti destinati a molti clienti?
- 16. Il modo migliore per "negare" un'istanza di
- 17. Il modo migliore per pianificare un'attività?
- 18. il modo migliore per caricare script dinamici
- 19. Il modo migliore per gestire un KeyNotFoundException
- 20. Il modo migliore per sincronizzare l'attività asincrona
- 21. Il modo migliore per ottenere URL multilingue?
- 22. Qual è il modo migliore per accedere alla memoria in Java, in modo simile a mmap?
- 23. Qual è il modo migliore per accedere a Neo4j da Django?
- 24. dove è il posto migliore per iniziare a conoscere servlet/tomcat?
- 25. Qual è il modo migliore per imparare Django 1.5?
- 26. Qual è il modo migliore/più sicuro per reinstallare Homebrew?
- 27. Qual è il modo migliore per ritagliare un'immagine in HTML?
- 28. Il modo migliore per accedere a componenti/campi adiacenti
- 29. Qual è il modo migliore per esportare enormi cataloghi Magento
- 30. Qual è il modo migliore per imparare jQuery?
è utile? https://groups.google.com/forum/#!topic/swagger-swaggersocket/ZGYTzP0DCNM Sembra che potrebbe non essere possibile impostare dinamicamente al momento. –