2015-01-06 2 views
36

У меня есть встроенный в мое приложение swagger ui. И когда я запускаю свое приложение-приложение локально, пользовательский интерфейс отлично работает.Интерфейс Swagger показывает ошибку (валидацию) при развертывании

Однако, когда я раскрываю интерфейс к моему «реальному» серверу я получаю изображение ошибки в правом нижнем угле моей развязности Ui:

enter image description here

Я уверен, что это то, что я делаю это прикручивая его, но я понятия не имею. Снова работает локально, когда я обращаюсь к swagger ui через http.

Однако при развертывании я запускаю apache и обслуживаю через https, я вижу ошибку. Еще хуже, что ни один из моих «Try it» не работает при развертывании. Похоже, что запрос не делается.

Похоже, что пользовательский интерфейс выполняет вызов валидатора с моим swagger.json, однако этот вызов работает локально.

Что я делаю неправильно?

Когда я нажимаю на значок ошибки, я получаю:

enter image description here

ответ

2

Форс-UI может обрабатывать некоторые искаженных спецификации, которая, вероятно, почему это работает локально.

По умолчанию процесс проверки не выполняется, когда спецификация считывается с localhost. Вы должны иметь возможность запускать его, если хотите, с помощью validatorUrl (https://github.com/swagger-api/swagger-ui#parameters).

Чтобы увидеть ошибки проверки, просто нажмите на значок ERROR, и он предоставит вам список проблем с вашей спецификацией.

+0

Спасибо @webron. Когда я нажимаю этот значок, я получаю ошибку внутреннего сервера. Я создал документ swagger 2.0 с редактором swagger, и я не видел никаких ошибок. При этом я знаю, что пользовательский интерфейс и редактор находятся в разных состояниях, соответствующих спецификации 2.0. Не уверен, что они используют разные валидаторы. Я посмотрю, как обрезать спецификацию несколько путей за раз, чтобы узнать, могу ли я определить местоположение ошибки. – lostintranslation

+0

Можете ли вы попробовать это снова? Я просто попробовал, и все получилось. – Ron

+0

Я только что заметил, что вы отредактировали вопрос. Вы отредактировали параметр validatorUrl для SwaggerUi? Развертывается ли сервер на локальном хосте? – Ron

16

Когда это происходит (и это иногда бывает) я хожу здесь:

http://json-schema-validator.herokuapp.com/index.jsp

Вставить схему чванства здесь https://github.com/swagger-api/swagger-spec/blob/master/schemas/v2.0/schema.json в поле схемы, а затем вашу спецификацию в поле данных

+4

Я получаю ту же ошибку, что и OP, но проверка на herokuapp говорит мне об успехе, ошибки нет ... –

+0

Это очень спасибо за полезную помощь! –

33

Для отключить чванство валидатор добавить validatorUrl: нулевой, в dist/index.html в

window.swaggerUi = new SwaggerUi({ 
    url: url, 
    validatorUrl : null, 
    dom_id: "swagger-ui-container", 
Смежные вопросы