swagger-api / validator-badge

Validate your Swagger JSON/YAML today!
http://swagger.io
Apache License 2.0
210 stars 85 forks source link

Cannot run validator with localhost, please help! #201

Open SonNXP opened 2 years ago

SonNXP commented 2 years ago

Hello, I need to run Swagger validator for a localhost, ex: url = http://localhost:8085. And I searched the way to do and follow: https://stackoverflow.com/questions/32188386/cant-read-from-file-issue-in-swagger-ui and tried solution 3: Host the validator locally.

For: You will also need to tell swaggerui the location of the validator, where can I find: config.EnableSwagger().EnableSwaggerUi(c => c.SetValidatorUrl());? I updated my index.html (in my project) with:

window.swaggerUi = new SwaggerUi({ //url: "/um-api/swagger.json", url: parseUrl(), validatorUrl: "http://localhost:8080/validator", // added this line and seems it works dom_id: "swagger-ui-container",

I can run http://localhost:8080/validator/debug?url={site publicly accessible}/apiDocs , it works well.

But when I change to: http://localhost:8080/validator/debug?url=http://localhost:8085/apiDocs, it always return: {"schemaValidationMessages":[{"level":"error","message":"Can't read from file http://localhost:8085/apiDocs"}]}

I see some note that online swagger ui will not work with locahost but is there anyway to fix this? I really need to run the validator with url = http://localhost:8085.

Many thanks!

phpclub commented 4 months ago

Are you running this in docker?