小编Cal*_*ric的帖子

使用 Swashbuckle V5 从代码生成 swagger.json

我正在使用 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;
}
Run Code Online (Sandbox Code Playgroud)
string json = GenerateSwagger(webhost, docName, url);
string path = Path.Combine(path, docName);
File.WriteAllText(path + ".json", json);
Run Code Online (Sandbox Code Playgroud)

我该如何做才能像 v4 一样工作,但使用新版本的 Swashbuckle AspnetCore ?

swagger swashbuckle asp.net-core swashbuckle.aspnetcore

4
推荐指数
1
解决办法
3640
查看次数