Dies ist eher eine allgemeine Frage. Mein Swagger API funktioniert einwandfrei, wenn ich IE11, Chrome, FireFox und mehr benutze, aber IE10 und unten bekomme ich einen Fehler: failed to parse JSON/YAML
und in meinem swagger.inspec().state
kommt "rejected"
zurück.IE10 Swagger Error JSON/YAML konnte nicht analysiert werden
Hier ist, wie ich meinen Kunde bin Instanziierung:
import { API_URI } from '../config/app_config'; // '/accountservice/swagger.json'
import Swagger from 'swagger-client'; // "swagger-client": "^2.1.17"
export const buildAccountServiceClient =() => {
const swagger = new Swagger({
url: (!window.location.origin ? IE_API_URI : API_URI),
usePromise: true,
});
// Reconfigure swagger client to override service path if we're using a reverse proxy:
// /accountservice/swagger.json -> /accountservice
// Originally tried setting basePath to null, undefined, and '', but that didn't work
let basePath;
if (API_URI.startsWith('/')) {
basePath = API_URI.substring(0, API_URI.lastIndexOf('/'));
swagger.then((client) => {
client.setBasePath(basePath);
if (typeof(window) !== 'undefined') {
// use current protocol, so either http or https
client.setSchemes([window.location.protocol.slice(0, -1)]);
}
});
}
return swagger;
};
ich auch einen Proxy-Server verwenden, weshalb ich die API_URI nicht als vollständige URL definiert habe, sondern nur den Weg.
Warum würde dies in allen anderen Browsern außer IE10 funktionieren, obwohl IE10 unterstützt wird?
Welche Version von Swagger UI? Das neueste 3.0.x [unterstützt IE10 nicht] (https://github.com/swagger-api/swagger-ui#browser-support). – Helen
nein Ich benutze '" swagger-client ":"^2.1.17 "' Ich fügte ein wenig mehr Kontext hier hinzu: https://github.com/swagger-api/swagger-js/issues/1018 –