私は Swashbuckle AspNetCore v4.xx を使用していましたが、v5.1.xx にアップグレードしましたが、クラス「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 を使用します。