【发布时间】:2020-03-20 09:25:38
【问题描述】:
我使用的是 Swashbuckle AspNetCore v4.x.x,我升级到 v5.1.x.x。但是我使用的代码不再工作了,因为缺少“SwaggerContractResolver”类。
我尝试的目标是在我的 RESTfull API 的代码中生成 swagger.json:
public static string GenerateSwagger(this IWebHost webhost, string docName, string basePath)
{
var sw = (ISwaggerProvider)webhost.Services.GetService(typeof(ISwaggerProvider));
var doc = sw.GetSwagger(docName, null, basePath);
var json = JsonConvert.SerializeObject(
doc,
Formatting.Indented,
new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore,
ContractResolver = new SwaggerContractResolver(new JsonSerializerSettings())
}
);
return json;
}
string json = GenerateSwagger(webhost, docName, url);
string path = Path.Combine(path, docName);
File.WriteAllText(path + ".json", json);
如何像 v4 一样使用新版本的 Swashbuckle AspnetCore 来做到这一点?
【问题讨论】:
标签: api asp.net-core swagger swashbuckle swashbuckle.aspnetcore