C# 在swashbuckle中编辑不同管线的swagger定义

C# 在swashbuckle中编辑不同管线的swagger定义,c#,.net-core,swagger,C#,.net Core,Swagger,在我们的API中有两个端点,一个端点用于创建资源,另一个端点用于更新资源。我们希望为这两个操作重用相同的模型,但如果端点是PUT端点,则删除swagger定义中的一些属性 考虑此模型以创建用户: /// <summary> /// Describes a User /// </summary> public class User { /// <summary> /// Given name of the user /// </s

在我们的API中有两个端点,一个端点用于创建资源,另一个端点用于更新资源。我们希望为这两个操作重用相同的模型,但如果端点是PUT端点,则删除swagger定义中的一些属性

考虑此模型以创建用户:

/// <summary>
/// Describes a User
/// </summary>
public class User 
{
    /// <summary>
    /// Given name of the user
    /// </summary>
    public string FirstName { get; set; }

    /// <summary>
    /// Last name of the user
    /// </summary>
    public string LastName { get; set; }

    /// <summary>
    /// Email address
    /// </summary>
    public string EmailAddress { get; set; }
}
通过向模型中的属性添加属性,我们希望在SwaggerGeneration中创建一个过滤器,以删除所有未标记为
UpdateAttribute
的属性。我已经看过了
ipParameterFilter
IOperationFilter
ISchemaFilter
,但它们似乎都不符合我们的需要

有什么是我忽略的吗?有人这样做过吗

/// <summary>
/// Describes a User
/// </summary>
public class User 
{
    /// <summary>
    /// Given name of the user
    /// </summary>
    [Updatable]
    public string FirstName { get; set; }

    /// <summary>
    /// Last name of the user
    /// </summary>
    [Updatable]
    public string LastName { get; set; }

    /// <summary>
    /// Email address
    /// </summary>
    public string EmailAddress { get; set; }
}