Asp.net core 显示(值)数据注释-虚张声势-虚张声势页面

Asp.net core 显示(值)数据注释-虚张声势-虚张声势页面,asp.net-core,swagger,swagger-ui,swashbuckle,swashbuckle.aspnetcore,Asp.net Core,Swagger,Swagger Ui,Swashbuckle,Swashbuckle.aspnetcore,是否可以在招摇过市页面上显示参数的数据注释,例如最小值和最大值 我已经尝试将ShowExtensions和ShowCommonExtension设置为true或调用ShowExtensions(),但这并不能解决问题。字符串的范围属性和/或例如MaxLength(20)不会显示在“招摇过市”页面上 启动(代码片段) 框架/包 .NET核心3.1 Swashback.AspNetCore(5.4.1) Swashback.AspNetCore.swagggergen(5.4.1) 控制器(代码

是否可以在招摇过市页面上显示参数的数据注释,例如最小值和最大值

我已经尝试将ShowExtensions和ShowCommonExtension设置为true或调用ShowExtensions(),但这并不能解决问题。字符串的范围属性和/或例如MaxLength(20)不会显示在“招摇过市”页面上

启动(代码片段)

框架/包

  • .NET核心3.1
  • Swashback.AspNetCore(5.4.1)
  • Swashback.AspNetCore.swagggergen(5.4.1)
控制器(代码片段)

[HttpGet]
公共IEnumerable GetMethod([必需][范围(1,10)]int值)
{
大摇大摆的用户界面


我又挖了一些

它们对多个属性进行检查:

但我看到的唯一使用范围的单元测试是在模型上:

如果这是您真正关心的问题,请填写错误报告:

可能,是的:@HelderSepulveda感谢您的回复。问题似乎与OpenApi规范的V2有关。提供的示例是使用V2而不是我正在使用的OAS3版本。您能详细介绍一下“OpenApi规范问题”吗两者都有“最大值”和“最大值”选项minimum@HelderSepulveda请在Swashback.AspNetCore的问题页面上查看更详细的信息-你能展示你正在使用的swagger ui版本吗,这里有关于如何获得它的说明:感谢你为所描述的问题付出的努力和时间。我在GitHub是Swashback.AspNetCore的页面。也许你可以看一下,因为它包含额外的信息:@Odrai我用你在本期中提供的内容创建了一个swagger json…在我的swagger ui版本下看起来不错:一定是他们(Swashback.AspNetCore)您正在使用旧版本感谢您为我指出正确的方向。问题发生在当前可用的Swashback.AspNetCore(5.4.1版)NuGet包中。我克隆了当前的主源代码(5.4.2版),并添加了对测试项目的引用。经过一些测试,我可以说他们在最新版本中修复了该问题(主)版本。我们只需等待新的NuGet版本。最重要的部分是Swashback处理ConfigObject的ShowCommonExtensions属性的方式。
    app.UseSwaggerUI(
        options =>
        {
            options.ConfigObject = new ConfigObject
            {
                ShowCommonExtensions = true,
                ShowExtensions = true
            };

            options.ConfigObject.AdditionalItems.Add("showCommonExtensions", true);

            options.ShowExtensions();
 [HttpGet]
 public IEnumerable<string> GetMethod([Required] [Range(1, 10)] int value)
 {
if (attribute is DefaultValueAttribute defaultValue && defaultValue.Value != null)
{
    schema.Default = OpenApiAnyFactory.CreateFor(schema, defaultValue.Value);
}
else if (attribute is RegularExpressionAttribute regex)
{
    schema.Pattern = regex.Pattern;
}
else if (attribute is RangeAttribute range)
{
    schema.Maximum = decimal.TryParse(range.Maximum.ToString(), out decimal maximum)
        ? maximum
        : schema.Maximum;

    schema.Minimum = decimal.TryParse(range.Minimum.ToString(), out decimal minimum)
        ? minimum
        : schema.Minimum;
}
    public class MetadataType
    {
        [Required]
        public string StringWithRequired { get; set; }

        [Required]
        public int IntWithRequired { get; set; }

        [Range(1, 12)]
        public int IntWithRange { get; set; }

        [RegularExpression("^[3-6]?\\d{12,15}$")]
        public string StringWithRegularExpression { get; set; }
    }