Výchozí hodnota anotace dat pro prázdné pole

hlasů
16

Vytvářím rozhraní .NET Core Web API a chci zavolat koncový bod zadáním objednávky zákazníka. ID zákazníka přichází jako parametr trasy. V těle požadavku je možné poslat řadu objektů. Každý objekt obsahuje ID produktu a jeho částku. Toto pole je však volitelné, jsou možné i prázdné objednávky (produkty lze přidat později).

Začal jsem tedy s tímto DTO

public class CreateCustomerOrderByIdDto
{
    [FromRoute]
    public uint Id { get; set; }

    [FromBody]
    public OrderPosition[] OrderPositions { get; set; }
}

public class OrderPosition
{
    [Range(1, uint.MaxValue)]
    public uint ProductId { get; set; }

    [Range(1, uint.MaxValue)]
    public uint Amount { get; set; }
}

Tato žádost DTO by měla vytvořit OrderPositions pole volitelné, ale při přidávání položky jsou pro tuto položku vyžadovány obě vlastnosti. Chci nastavit výchozí hodnotu pro OrderPositions pokud chybí, tak jsem si myslel, že tato anotace dat by to udělala

[DefaultValue(new OrderPosition[0])]

Bohužel se mi zobrazuje tato chybová zpráva

Argument atributu musí být konstantní výraz, výraz 'typeof ()' nebo výraz vytvoření pole typu parametru atributu

Jak tedy označíte toto pole jako volitelné a nastavíte výchozí hodnotu?

Položena 04/06/2020 v 23:02
zdroj uživatelem
V jiných jazycích...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more