Как отключить проверку чванства в сетевом ядре

Я ищу способ отключить функцию проверки чванства при использовании Swashbuckle для проекта сетевого ядра веб-API. Точнее, как я могу установить для ValidatorUrl значение null.


person mstrand    schedule 13.04.2016    source источник
comment
Можете ли вы предоставить дополнительную информацию о том, какой Nuget of Swashbuckle вы используете? Новые nugets для .net-core (Swashbuckle.SwaggerGen, Swashbuckle.SwaggerUi), похоже, не имеют функции проверки.   -  person Fabian    schedule 14.04.2016
comment
Я использую пакет Swashbuckle: 6.0.0-rc1-final.   -  person mstrand    schedule 19.04.2016
comment
Я не уверен, но мне кажется, что функцию проверки не портировали. Так что, возможно, нет необходимости устанавливать для ValidatorUrl значение null ?   -  person Fabian    schedule 21.04.2016
comment
Я ответил на этот вопрос неделю назад: stackoverflow.com/a/44830406/1466583 он отключен по умолчанию на Swashbuckle.AspNetCore 1.0.0   -  person Maximilian Ast    schedule 05.07.2017


Ответы (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