Alapértelmezett érték-adatjegyzet az üres tömb számára

szavazat
16

.NET Core Web API-t hozok létre, és fel akarom hívni egy végpontot, amely ügyfélmegrendelést nyújt be. Az ügyfél azonosítója útvonal paraméterként érkezik. A kérés törzsében objektumtömb küldhető el. Minden objektum tartalmazza a termékazonosítót és annak mennyiségét. De ez a mező nem kötelező, üres megrendelések is lehetséges (a termékek később hozzáadhatók).

Tehát ezzel a DTO-val kezdtem

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; }
}

Ennek a DTO-nak a kérését meg kell tennie OrderPositions mező választható, de egy elem hozzáadásakor mindkét tulajdonság szükséges az elemhez. Alapértelmezett értéket akarok beállítani a következőhöz: OrderPositions ha hiányzik, úgy gondoltam, hogy ez az adatjegyzet meg fogja csinálni

[DefaultValue(new OrderPosition[0])]

Sajnos ezt a hibaüzenetet kapom

Az attribútum argumentumnak állandó attribútumtípus, 'typeof ()' kifejezés vagy tömb létrehozási kifejezésnek kell lennie

Tehát hogyan jelölheti meg ezt a mezőt nem kötelezővé, és beállít egy alapértelmezett értéket?

A kérdést 04/06/2020 23:02
a forrás felhasználó
Más nyelveken...                            

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