Схема Swashbuckle / Swagger показывает свойства только для чтения в схеме при операции PUT

У меня есть простая модель со свойством Agg2Id_Agg2Reference, имеющим только общедоступный получатель, но оно все еще отображается в операции Post в схеме в пользовательском интерфейсе Swagger через последнюю версию Swashbuckle.

Ниже приведен класс модели ...

 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 показано следующее ...

введите описание изображения здесь

ПРИМЕЧАНИЕ 1. Я пытался украсить свойство Agg2Id_Agg2Reference атрибутом [ReadOnly (true)] и без него, но все же вижу, что это свойство отображается в пользовательском интерфейсе Swagger.

ПРИМЕЧАНИЕ 2. Свойство типа строки Agg2_ServiceEndPoint также является только получателем, но не отображается в схеме пользовательского интерфейса (как и ожидалось).

ПРИМЕЧАНИЕ 3. Я не хочу декорировать с помощью JsonIgnore, поскольку на самом деле хочу, чтобы эти данные оставались на клиенте, я просто не хочу отображать их как настраиваемое свойство в схеме пользовательского интерфейса Swagger.

Как я могу удалить свойство Agg2Id_Agg2Reference из схемы Swagger / OpenAPI и не отображаться в пользовательском интерфейсе Swagger?


person John Kears    schedule 22.10.2020    source источник


Ответы (1)


Вышеупомянутый класс является результатом моего продукта-генератора кода, и я только что понял, что эта конкретная команда вообще не требует свойства Agg2Id_Agg2Reference, поэтому ответ на этот вопрос больше не требуется ... при этом я бы не возражал. чтобы узнать, почему появилась эта собственность.

person John Kears    schedule 22.10.2020