簡體   English   中英

Blazor Rest Api 調用使用 httpClient.GetJsonAsync 錯誤

[英]Blazor Rest Api call using httpClient.GetJsonAsync Errors

我正在嘗試使用以下調用從 Blazor 服務器應用程序調用 Rest API 以獲取項目列表。 API 正確返回,但它不能 map 到項目 Object 因為項目的 Z0ECD11C1D7A287401DZD148A 的屬性是嵌套 3 下的 BB72。

這是我正在打的電話

var projects = await httpClient.GetJsonAsync<Project[]>("projects");

這就是 API 調用的響應。

{
  "message": "GET Request successful.",
  "isError": false,
  "result": [
    {
      "projectCode": "PRJ-1996",
      "businessAssociateID": "BA000000000002",
      "contractStartDate": "11/19/2020 8:37:17 AM",
      "contractEndDate": "11/19/2020 8:37:17 AM",
      "contractStatus": "Active",
      "createdBy": "system",
      "createdDate": "2020-11-19T08:37:17.37",
      "active": true
    },
    {
      "projectCode": "PRJ-1997",
      "businessAssociateID": "BA000000000002",
      "contractStartDate": "11/19/2020 8:37:17 AM",
      "contractEndDate": "11/19/2020 8:37:17 AM",
      "contractStatus": "Active",
      "createdBy": "system",
      "createdDate": "2020-11-19T08:37:17.37",
      "active": true
    },
    {
      "projectCode": "PRJ-1998",
      "businessAssociateID": "BA000000000002",
      "contractStartDate": "11/19/2020 8:37:17 AM",
      "contractEndDate": "11/19/2020 8:37:17 AM",
      "contractStatus": "Active",
      "createdBy": "system",
      "createdDate": "2020-11-19T08:37:17.37",
      "active": true
    },
    {
  ]
}

如何使用 GetJsonAsync function 到 map 到項目列表。 我看到的所有示例都只返回對象數組而沒有響應消息。

這是我在通話中收到的錯誤。 這些路由對於 API 調用是正確的,並且已經過測試。

JsonException: The JSON value could not be converted to Web.Data.Project[]. Path: $ | LineNumber: 0 | BytePositionInLine: 1.

快速簡便的方法是

class Response
{
   public string  Message { get; set; }
   public bool  IsError { get; set; }
   public Project[] Result { get; set; }
}  

這也讓您可以查看 IsError 和 Message。

暫無
暫無

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

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