Can't read from file issue in Swagger UI

I am guessing "http://MYIP/swagger/docs/v1" is not publicly accessible.

By default swagger ui uses an online validator: online.swagger.io. If it cannot access your swagger url then you will see that error message.

Possible solutions:

  1. Disable validation:

    config.EnableSwagger().EnableSwaggerUi(c => c.DisableValidator());

  2. Make your site publicly accessible

  3. Host the validator locally:

You can get the validator from: https://github.com/swagger-api/validator-badge#running-locally

You will also need to tell swaggerui the location of the validator

config.EnableSwagger().EnableSwaggerUi(c => c.SetValidatorUrl(<validator_url>));


To supplement the accepted answer...I just uncommented one line in the SwaggerConfig.cs. I only wanted to get rid of the red error on the main swagger page by disabling the validator.

// By default, swagger-ui will validate specs against swagger.io's online validator and display the result
// in a badge at the bottom of the page. Use these options to set a different validator URL or to disable the
// feature entirely.
//c.SetValidatorUrl("http://localhost/validator");
c.DisableValidator();

If you are using files from swagger-ui github repo, then you can disable schema validation from your index.html file by setting validatorUrl to null in it:

window.onload = function() {

  // Build a system
  const ui = SwaggerUIBundle({
    url: "/docs/open_api.json",
    dom_id: '#swagger-ui',

    validatorUrl : null,   # <----- Add this line

    deepLinking: true,
    presets: [
      SwaggerUIBundle.presets.apis,
      SwaggerUIStandalonePreset
    ],
    plugins: [
      SwaggerUIBundle.plugins.DownloadUrl
    ],
    layout: "StandaloneLayout"
  })