首页 > 解决方案 > 在 WebAPI POST 中删除模型属性,但在 Swagger 中保留 GET

问题描述

我有一些属性可以在数据库中插入或更新数据时捕获时间戳。我不希望这些属性在 POST 请求中的 Swagger 中可见,如何在 GET 请求中显示这些属性,而不是在 POST 端点中显示这些属性?

public class BaseEntity
    {
        /// <summary>
        /// Gets or Sets Date Created
        /// </summary>
        [DataMember(Name = "object_created", IsRequired = false)]
        public DateTime DateCreated { get; set; }

        /// <summary>
        /// Gets or Sets Date Updated
        /// </summary>
        [DataMember(Name = "object_updated", IsRequired = false)]
        public DateTime DateUpdated { get; set; }
    }

标签: c#swaggerasp.net-web-api2

解决方案


请参阅主题“隐藏属性以防止显示”: https ://github.com/domaindrivendev/Swashbuckle.WebApi/issues/1230

另一种方式:您可以为此创建两个模型。我觉得这样最好。


推荐阅读