Я ищу способ отключить функцию проверки чванства при использовании Swashbuckle для проекта сетевого ядра веб-API. Точнее, как я могу установить для ValidatorUrl значение null.
Как отключить проверку чванства в сетевом ядре
Ответы (1)
Я обнаружил, что он не отключен по умолчанию. Я использую Swashbuckle.AspNetCore v1.1.0 и .net core 2.0. Я пробовал следующее, которое НЕ РАБОТАЕТ
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "MY API");
c.EnabledValidator(null);
});
Единственное решение, которое я нашел, — изменить их файл swagger-ui.js. Мне не нравится это решение, но оно работает.
Около строки 198 вы увидите следующее:
return " <span style=\"float:right\"><a target=\"_blank\" href=\""
+ ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.validatorUrl : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+ "/debug?url="
+ ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.url : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+ "\"><img id=\"validator\" src=\""
+ ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.validatorUrl : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+ "?url="
+ ((stack1 = (helpers.escape || (depth0 && depth0.escape) || alias2).call(alias1,(depth0 != null ? depth0.url : depth0),{"name":"escape","hash":{},"data":data})) != null ? stack1 : "")
+ "\"></a>\n </span>\n";
},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
var stack1, alias1=depth0 != null ? depth0 : {};
Я удалил их тег привязки, и теперь он выглядит так:
return " <span style=\"float:right\"></span>\n";
},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
var stack1, alias1=depth0 != null ? depth0 : {};
person
Ben
schedule
20.12.2017
Swashbuckle.AspNetCore 1.0.0
- person Maximilian Ast   schedule 05.07.2017