簡體   English   中英

Swashbuckle/Swagger 模式在 PUT 操作中顯示模式中的只讀屬性

[英]Swashbuckle/Swagger schema shows read only properties in schema on PUT operation

我有一個簡單的模型,它具有Agg2Id_Agg2Reference屬性,因為它只有一個公共 getter,但它仍然通過最新版本的 Swashbuckle 顯示在 Swagger UI 中的模式 Post 操作中。

以下是模型類...

 public class UpdateRequest
{
    private string _firstProperty;
    private string _agg2_ServiceEndPoint;
    private AEA.GarthApp.Service2.Agg2.ViewModels.Agg2 _agg2Id_Agg2Reference;
    private AEA.GarthApp.Service2.Agg2.ViewModels.Agg2Id _agg2Id;
    private AEA.GarthApp.Service1.Agg1.ViewModels.Agg1Id _agg1Id;
    public void SetAgg2ServiceEndPoint(string value)
    {
        _agg2_ServiceEndPoint = value;
    }

    public void SetAgg2IdAgg2Reference(AEA.GarthApp.Service2.Agg2.ViewModels.Agg2 value)
    {
        _agg2Id_Agg2Reference = value;
    }

    [ProtoMember(1)]
    public string FirstProperty
    {
        get => _firstProperty;
        set => _firstProperty = value;
    }

    [ProtoMember(2)]
    public string Agg2_ServiceEndPoint
    {
        get => _agg2_ServiceEndPoint;
    }

    [ProtoMember(3)]
    public AEA.GarthApp.Service2.Agg2.ViewModels.Agg2 Agg2Id_Agg2Reference
    {
        get => _agg2Id_Agg2Reference;
    }

    [ProtoMember(4)]
    public AEA.GarthApp.Service2.Agg2.ViewModels.Agg2Id Agg2Id
    {
        get => _agg2Id;
        set => _agg2Id = value;
    }

    [ProtoMember(5)]
    public AEA.GarthApp.Service1.Agg1.ViewModels.Agg1Id Agg1Id
    {
        get => _agg1Id;
        set => _agg1Id = value;
    }
}

以下顯示在 Swagger UI 中...

在此處輸入圖片說明

注意 1:我嘗試使用和不使用 [ ReadOnly (true)] 屬性來裝飾屬性Agg2Id_Agg2Reference但我仍然看到此屬性顯示在 Swagger UI 中。

注意 2:字符串類型屬性Agg2_ServiceEndPoint也只是一個 getter,但它沒有出現在 UI 模式中(如預期的那樣)。

注意 3:我不想用JsonIgnore裝飾,因為我實際上希望將這些數據保存在客戶端上,我只是不想在 Swagger UI 架構中將其顯示為可設置的屬性。

如何從 Swagger/OpenAPI 架構中顯示的屬性Agg2Id_Agg2Reference 中刪除,而不是在 Swagger UI 中顯示?

上面的類是我的代碼生成器產品的輸出,我剛剛意識到這個特定的命令根本不需要 Agg2Id_Agg2Reference 屬性,所以不再需要這個問題的答案......也就是說我不介意了解為什么該屬性出現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM