J'ai le swagger ui intégré dans mon application. Et lorsque j'exécute mon application de nœud localement, l'interface utilisateur fonctionne très bien.
Cependant, lorsque je déploie l'interface utilisateur sur mon "vrai" serveur, j'obtiens une image d'erreur en bas à droite de mon interface utilisateur swagger:
Je suis sûr que c'est quelque chose que je fais qui fout les choses en l'air mais je n'en ai aucune idée. Fonctionne à nouveau localement lorsque j'accède à l'interface utilisateur swagger via http.
Cependant, lorsque je déploie, je passe par Apache et je sers via https, je vois une erreur. Pire encore, aucun de mes appels d'essai ne fonctionne quand il est déployé. Il semble que la demande ne soit pas faite.
On dirait que l'interface utilisateur fait un appel à un validateur avec mon swagger.json, mais cet appel fonctionne localement.
Qu'est-ce que je fais mal?
Lorsque je clique sur l'icône d'erreur, j'obtiens:
Pour désactiver le validateur swagger, ajoutez validatorUrl: null, in dist/index.html
dans
window.swaggerUi = new SwaggerUi({
url: url,
validatorUrl : null,
dom_id: "swagger-ui-container",
Lorsque cela se produit (et cela arrive parfois), je vais ici:
http://json-schema-validator.herokuapp.com/index.jsp
Collez le schéma swagger à partir d'ici https://github.com/swagger-api/swagger-spec/blob/master/schemas/v2.0/schema.json dans le champ du schéma, puis votre spécification dans le champ de données
Swagger-UI est capable de gérer certaines spécifications mal formées, c'est probablement pourquoi cela fonctionne localement.
Par défaut, le processus de validation ne s'exécute pas lorsque la spécification est lue à partir de localhost. Vous devriez pouvoir l'exécuter encore, si vous le souhaitez, en utilisant le validatorUrl ( https://github.com/swagger-api/swagger-ui#parameters ).
Pour voir les erreurs de validation, cliquez simplement sur l'icône ERROR
, et cela vous donnera une liste de problèmes avec votre spécification.