2016-04-13 71 views
2

我正在尋找一種方式使用Swashbuckle的網絡核心網絡API項目時禁用招搖驗證功能。更確切地說,我如何將ValidatorUrl設置爲null。如何在網絡核心禁用招搖驗證

+0

你可以給它Swashbuckle的的NuGet你的詳細信息使用? .net-core(Swashbuckle.SwaggerGen,Swashbuckle.SwaggerUi)的新核心似乎沒有驗證功能。 – Fabian

+0

我使用的是「Swashbuckle」:「6.0.0-rc1-final」包 – mstrand

+0

我不確定,但在我看來,驗證功能尚未被移植。所以可能沒必要將ValidatorUrl設置爲null? – Fabian

回答

0

我發現默認情況下它沒有被禁用。我正在運行Swashbuckle.AspNetCore v1.1.0和.net核心2.0。我試圖不工作

app.UseSwaggerUI(c => 
     { 
      c.SwaggerEndpoint("/swagger/v1/swagger.json", "MY API"); 
      c.EnabledValidator(null); 
     }); 

,我發現的唯一的解決辦法是修改他們昂首闊步,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 : {};