簡體   English   中英

如果GUID為空,則模型綁定不起作用

[英]Model Binding not working if GUID is null

在以下代碼片段中,當我使用正文發出POST請求時,ExpenseRecord對象始終為null: {"id":null,"name":"Test","reason":"Flight","date":"01.10.2016","amount":10,"text":"Test"}

[HttpPost]
public IActionResult Post([FromBody]ExpenseRecord record)
{
    try
    {
        this.repository.Create(record);
        return this.Created($"api/expenses/{record.Id}", null);
    }
    catch (ArgumentNullException)
    {
        return this.BadRequest();
    }
    catch (InvalidOperationException)
    {
        return new StatusCodeResult((int)HttpStatusCode.Conflict);
    }
 }

ExpenseRecord看起來像:

public class ExpenseRecord : IEquatable<ExpenseRecord>
{
    public Guid Id { get; set; }

    public string Date { get; set; }

    public string Name { get; set; }

    [JsonConverter(typeof(StringEnumConverter))]
    public ExpenseReason Reason { get; set; }

    public decimal Amount { get; set; }

    public string Text { get; set; }

    ...
}

如果將ID設置為適當的格式GUID,則可以使用。 但是,發布新記錄時,我不能(或不想)提供ID?

如前所述,guid不能為null。

// change
public Guid Id { get; set; }

// to
public Guid? Id { get; set; }

或在您的POST中發送空的Guid

暫無
暫無

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

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