Swagger:使用Swashbuckle.AspNetCore.Filters .net core web Api 3



在Swagger中使用multipleexamplesprovider与Swashbuckle.AspNetCore.Filters生成多个示例不起作用:

公共类ValueGetProblemDetailsInternalServer:IMultipleExamplesProvider

{
public IEnumerable<SwaggerExample<ValidationProblemDetailsInternalServer>> GetExamples()
{
yield return SwaggerExample.Create(
"xxxx",
"yyyy",
new ValidationProblemDetailsInternalServer()
{
Type = "https://tools.ietf.org/html/rfc7231#section-6.5.21v",
Title = "Erreur lors du traitement de la requête",
Detail = "Une ou plusieurs erreurs sont survenues lors du traitement de la requête.",
Status = (int?)HttpStatusCode.InternalServerError,
Instance = "personne/12345678902"
});
yield return SwaggerExample.Create(
"vxwcvxcv",
"helloxcv",
new ValidationProblemDetailsInternalServer()
{
Type = "https://tools.ietf.org/html/rfc7231#section-6.5.21vcc",
Title = "Erreur lors du traitement de la requête2",
Detail = "Une ou plusieurs erreurs sont survenues lors du traitement de la requête2.",
Status = (int?)HttpStatusCode.InternalServerError,
Instance = "personne/12345678902k"
});
}
}

和在启动时:services.AddSwaggerExamplesFromAssemblyOf (typeof (ValueGetProblemDetailsInternalServer));

谢谢你的帮助。

我也遇到了同样的问题。

根据文档,需要调用c.ExampleFilters()方法注册示例提供程序。

services.AddSwaggerGen(c =>
{
// Note: Required when using example providers
c.ExampleFilters();
}
services.AddSwaggerExamplesFromAssemblies(Assembly.GetEntryAssembly());

最新更新